数据帧读取具有更改架构的json文件

时间:2016-03-14 18:55:45

标签: json apache-spark apache-spark-sql spark-dataframe

我目前正在阅读每个文件中都有可变模式的json文件。我们使用以下逻辑来读取json - 首先我们读取包含所有字段的基本模式,然后读取实际数据。我们正在使用这种方法,因为基于第一个文件读取来理解模式,但是我们没有将第一个文件中的所有字段都自己获取。因此,只需欺骗代码首先理解架构,然后开始阅读实际数据。

rdd=sc.textFile(baseSchemaWithAllColumns.json).union(pathToActualFile.json)
sqlContext.read.json(rdd)

//Create dataframe and then save as temp table and query

我知道以上只是解决方法,我们需要一个更清晰的解决方案来接受具有不同架构的json文件。

据我所知,还有其他两种方法可以理解here

所提到的架构

然而,为此我们看起来需要解析json并将每个字段映射到收到的数据。

似乎有一个镶木地板模式合并的选项,但这看起来主要是从数据框中读取 - 或者我在这里遗漏了一些东西。

读取更改的json文件架构并使用Spark SQL进行查询的最佳方法是什么。

我可以按原样读取json文件并保存为临时表,然后在查询时使用mergeSchema = true

0 个答案:

没有答案