Чтение закодированного значения в ошибке 1.6 бросания - PullRequest
0 голосов
/ 20 сентября 2019

Я получаю файл от API, который имеет закодированное (не ascii) символьное значение в 3 столбцах.когда я читаю файл с использованием DataFrame в Spark1.6

val CleanData= sqlContext.sql("""SELECT
                                               COL1
                                               COL2,
                                               COL3
                                               FROM CLEANFRAME
                                               """ )

Кодированное значение выглядит следующим образом.

enter image description here

Но закодированное значениеПохоже,

53004, 101

Может кто-нибудь, пожалуйста, помогите мнекак исправить эту ошибку, если возможно с spark 1.6 и scala. 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|
+------+--------------------+-------+--------+
...