【发布时间】:2019-11-07 13:00:37
【问题描述】:
我想在 Java Spark 中使用逗号分隔符从 Dataframe 的一列创建多列。
我在DataFrame 的一列中有一个带逗号的值,我想使用逗号分隔符拆分为多列。我有以下代码:
Dataset<Row> dfreq1 = spark.read().format("json").option("inferSchema", "true")
.load("new.json");
dfreq1.show(5, 300);
dfreq1.createOrReplaceTempView("tempdata");
Dataset<Row> dfreq2 = dfreq1.sqlContext().sql("select split(names, '|') from tempdata");
dfreq2.show(5, 300);
输入
+----------------------------+
| name|
+-----------------------------+
|ABC1,XYZ1,GDH1,KLN1,JUL1,HAI1|
|ABC2,XYZ2,GDH2,KLN2,JUL2,HAI2|
+-----------------------------+
输出
+-----------------------------+
| Cl1| Cl2| Cl3| Cl3|Cl4 | Cl4|
+-----------------------------+
|ABC1|XYZ1|GDH1|KLN1|JUL1|HAI1|
|ABC2|XYZ2|GDH2|KLN2|JUL2|HAI2|
+-----------------------------+
【问题讨论】:
-
根据','分值,按值getItem
-
您可以将其保存为文本,然后读取为 csv
-
谢谢。我不清楚这一点。能否提供java代码
-
@Tamil 你知道拆分后固定的列数吗?
标签: apache-spark java-8 apache-spark-sql