展开包装的列数据

时间:2017-06-19 09:36:28

标签: scala apache-spark apache-spark-sql

我有一个JSON文件,在进入Spark SQLContext后基本上是CSV格式。

示例数据文件:(请注意,每个用户没有固定数量的大学)

Name   age     college_name
a1      10      abc college, bcd college, xyz college
a2      12      dsa college, iop college 

我想在下面给出的表格中获取上述文件:

Name    age     college_name
a1      10       abc college, 
a1      10       bcd college,
a1      10       xyz college
a2      12       dsa college,
a2      12       iop college 

我知道可以通过在Java中创建UDF来实现。但是我想知道Scala中是否可以使用它?

1 个答案:

答案 0 :(得分:0)

您可以使用json api将dataframe文件转换为sqlContext

sqlContext.read.json("path to json file")

假设您必须已dataframe使用json作为<{p}}读取数据{/ 1}}

sqlContext

您可以使用+----+---+-------------------------------------+ |Name|age|college_name | +----+---+-------------------------------------+ |a1 |10 |abc college, bcd college, xyz college| |a2 |12 |dsa college, iop college | +----+---+-------------------------------------+ explode功能,您可以找到更多信息functions

split

您应该有所需的输出