Spark scala split string并转换为包含两列的dataframe

时间:2017-09-29 22:00:36

标签: scala

test =“a1-b1,a2-b2”

我希望将此字符串转换为数据框

列A和B分别保持a1,a2和b1,b2

1 个答案:

答案 0 :(得分:3)

您可以将字符串转换为RDD,然后将其转换为DataFrame:

val s = "a1-b1,a2-b2"

val df = sc.parallelize(
    s.split(",").map(_.split("-")).map{ case Array(a, b) => (a, b) }
  ).toDF("A", "B")

df.show
+---+---+
|  A|  B|
+---+---+
| a1| b1|
| a2| b2|
+---+---+