背景
在项目中,自定义数据采集以及为下游sink提供结构化的数据的需求,目前主要采用dataframe和JSON互相转换从而便于数据的分析。
1、JSON字符串转dataframe
首先需要了解json对应于dataframe的数据类型:
json | dataframe |
int | long |
array | array |
object | struct |
测试json:
val testrdd = spark.sparkContext.parallelize(Array("{\"name\":\"张三\",\"age\":18,\"grade\":{\"gname\":\"chinese\",\"score\":\"88\"},\"array\":[11,12,13]}"))
转换后的数据类型:
完整代码:
//创建sparksession
val spark = SparkSession