【发布时间】:2020-02-07 03:14:15
【问题描述】:
有没有办法使用scala为spark数据框中的所有数字列添加双引号
我已经浏览了这个文档,但没有配置为数字列添加双引号。
文档链接:https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/QuoteMode.html
输入:val someDF = Seq(
| ("user1", "math","algebra-1","90"),
| ("user1", "physics","gravity","70")
| ).toDF("user_id", "course_id","lesson_name","score")
实际输出:
+-------+---------+-----------+-----+
|user_id|course_id|lesson_name|score|
+-------+---------+-----------+-----+
| user1| math| algebra-1| 90|
| user1| physics| gravity| 70|
+-------+---------+-----------+-----+
预期输出:
someDF.show()
+-------+---------+-----------+-----+
|user_id|course_id|lesson_name|score|
+-------+---------+-----------+-----+
| user1| math| algebra-1| "90"|
| user1| physics| gravity| "70"|
+-------+---------+-----------+-----+
``
【问题讨论】:
-
您的意思是要将数字列转换为字符串吗?可以提供一些输入输出吗?
-
我已经更新了问题,请检查。
-
有什么解决方法吗?只处理数字列
-
但是你的分数列已经是一个字符串了。 someDF.printSchema root |-- user_id: string (nullable = true) |-- course_id: string (nullable = true) |-- 课程名称: string (nullable = true) |-- score: string (nullable = true) 你希望明确地在分数列的值周围加上引号?
-
是的...明确地我需要在分数列中添加引号
标签: scala dataframe apache-spark apache-spark-sql