gpt4 book ai didi

java - 如何在spark sql中将json数组转换为csv

转载 作者:行者123 更新时间:2023-11-30 02:47:52 26 4
gpt4 key购买 nike

我尝试过此查询以从 linkedin 数据中获取所需的经验。

click here for my data

 Dataset<Row> filteredData = spark
.sql("select full_name ,experience from (select *, explode(experience['title']) exp from tempTable )"
+ " a where lower(exp) like '%developer%'");

但是我收到了这个错误:

click here for error I got

最后我尝试了,但我得到了更多同名的行。

Dataset<Row> filteredData = spark
.sql("select full_name ,explode(experience) from (select *, explode(experience['title']) exp from tempTable )"
+ " a where lower(exp) like '%developer%'");

请给我提示,如何将同一列中的字符串数组转换为逗号分隔的字符串。

最佳答案

您可以应用UDF来制作逗号分隔的字符串

像这样创建UDF

def mkString(value: WrappedArray[String]): String = value.mkString(",")

在sparkSQL上下文中注册UDF

sqlContext.udf.register("mkstring", mkString _)

将其应用于SparkSQL查询

sqlContext.sql(select mkstring(columnName) from tableName)

它将返回数组的逗号分隔值

关于java - 如何在spark sql中将json数组<String>转换为csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com