2

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

我知道以下实现相同目标的常见风格:使用 JSONSerde 或 XMLSerde 库,首先使用这些 serde 创建配置单元表。稍后将在每个 xml/json 配置单元表上触发 select * fields 查询以另存为 orc 或另存为镶木地板到另一个表中。成功完成后,我可以删除这些 Serde 表和 XML/JSON 数据。

做同样的事情的另一种好方法是什么?

4

1 回答 1

0

正如您所建议的,这是将 JSON/XML 数据离线转换为 parquet 格式的最常用方法。但另一种方法可能是解析 JSON/XML 并为每个 JSON 记录创建 Parquet 组。本质上:

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

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

于 2016-03-29T22:35:52.057 回答