变扁数据Frame嵌套JSON

如何用嵌套案例类转换扁数据Frame嵌套JSON

写由亚当巴夫拉卡

2022年5月20日

文章解释如何将扁平DataFrame转换为嵌套结构,

可使用此技术构建JSON文件,然后发送到外部API

定义嵌套式

先从扁平数据Frame开始

示例扁平DataFrame

使用DataFrame例子,我们定义自定义嵌套模式使用案例类

scala案例类depId(d_id:String)案例细节(id:empId:String,station:String,station:String,depId:depId)案例类代码(manger_id:String)案例类报表(Report:Array[code])案例类

可见案例类内部嵌套不同数据类型

转换扁平数据Frame为嵌套结构

使用DF.map传递行对象到对应案例类

scala导入spark.imblices._val巢化DF=DF.maps

创建嵌套数据Frame

示例嵌套DataFrame

写嵌套数据Frame为JSON文件

使用repartition().write.option函数写嵌套数据Frame到JSON文件

%scala    nestedDF.repartition(1).write.option("multiLine","true").json("dbfs:/tmp/test/json1/")

示例笔记本

复习DataFrame嵌套JSON示例笔记本以观察这些步骤的实现

文章有帮助吗