将模式演进(SCD)JSON / XML转换为ORC / Parquet格式

时间:2016-03-28 06:24:36

标签: apache-spark apache-spark-sql spark-dataframe parquet orc

我们正在获取各种JSON / XML作为输入,其中模式总是在不断发展。我想在Hadoop / Hive环境中使用ORC或Parquet格式处理它们以获得性能提升。

我知道以下实现同一目标的共同风格: 使用JSONSerde或XMLSerde库,首先使用这些serde创建hive表。稍后选择*字段查询将在每个xml / json配置单元表上触发,以保存为orc或另存为另一个表格。成功完成后,我可以删除这些Serde表和XML / JSON数据。

这样做的另一个好方法是什么?

1 个答案:

答案 0 :(得分:0)

正如您所建议的,这是将JSON / XML数据脱机转换为镶木地板格式的最常用方法。 但另一种方法可能是解析JSON / XML并为每个JSON记录创建Parquet Groups。基本上:

打开JSON文件  阅读每个单独的记录  打开另一个文件  从#2中读取的记录创建一个Parquet组  将镶木地板组写入#3中创建的文件  对文件中的所有记录执行此操作  关闭这两个文件。

我们为我们用过的一个案例想出了这样一个转换器。