使用 Scala 删除 Spark 1.6 输出中的 Unicode 值
Delete Unicode value in output of Spark 1.6 using Scala
从API生成的文件包含如下数据
col1,col2,col3
503004,(d$üíõ$F|'.h*Ë!øì=(.î; ,.¡|®!®3-2-704
当我在 spark 中阅读时,它看起来像这样。我正在使用 case class 从 RDD 读取然后使用 .todf.
将其转换为 DataFrame
503004,������������,������������������������3-2-704
但我正在努力获得像
这样的价值
503004,dFh,3-2-704-- only alpha-numeric value is retained.
我正在使用 spark 1.6 和 scala。
请分享您的建议
#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|
+------+--------------------+-------+--------+
从API生成的文件包含如下数据
col1,col2,col3
503004,(d$üíõ$F|'.h*Ë!øì=(.î; ,.¡|®!®3-2-704
当我在 spark 中阅读时,它看起来像这样。我正在使用 case class 从 RDD 读取然后使用 .todf.
将其转换为 DataFrame503004,������������,������������������������3-2-704
但我正在努力获得像
这样的价值503004,dFh,3-2-704-- only alpha-numeric value is retained.
我正在使用 spark 1.6 和 scala。
请分享您的建议
#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|
+------+--------------------+-------+--------+