Удалите значение Unicode в выходных данных Spark 1.6, используя Scala - PullRequest
0 голосов
/ 20 сентября 2019

Файл, сгенерированный из API, содержит данные, подобные приведенным ниже

col1,col2,col3
503004,(d$üíõ$F|'.h*Ë!øì=(.î;      ,.¡|®!®3-2-704

, когда я читаю в spark, он выглядит примерно так.я использую case case для чтения из RDD, затем преобразую его в DataFrame, используя .todf.

503004,������������,������������������������3-2-704

, но я пытаюсь получить значение типа

503004,dFh,3-2-704-- only alpha-numeric value is retained.

я использую spark 1.6 иscala.

Пожалуйста, поделитесь своим предложением

1 Ответ

0 голосов
/ 26 сентября 2019
#this ca be achieved by using the regex_replace
    val df = spark.sparkContext.parallelize(List(("503004","d$üíõ$F|'.h*Ë!øì=(.î;      ,.¡|®!®","3-2-704"))).toDF("col1","col2","col3")
    df.withColumn("col2_new", regexp_replace($"col2", "[^a-zA-Z]", "")).show()    
Output:
+------+--------------------+-------+--------+
|  col1|                col2|   col3|col2_new|
+------+--------------------+-------+--------+
|503004|d$üíõ$F|'.h*Ë!øì=...|3-2-704|     dFh|
+------+--------------------+-------+--------+
...