【发布时间】:2015-03-10 07:24:43
【问题描述】:
我有一个通过转换一些 avro 数据文件制作的镶木地板文件。该文件包含复杂的记录。我也有这些记录的 avro 模式以及等效的 parquet 模式(我在转换文件时得到了它)。我想制作一个由 parquet 文件支持的配置单元表。
因为我的记录模式有很多字段,手动声明这些字段对应的配置单元列非常困难且容易出错。这就是为什么我希望 hive 使用记录的 parquet 模式定义由我的 parquet 文件支持的表的列,这与 AvroSerDe 使用 avro 模式定义表列的方式大致相同。 ParquetSerDe 支持吗?我该怎么做?
附:我知道可能的解决方法,我可以先使用 avro 模式定义一个 avro 支持的表,然后使用 CTAS 语句从中创建镶木地板表。但是,如果架构具有联合,则这不起作用,因为 AvroSerDe 使用 Hive 联合,而 Hive 实际上不支持 (!!) 并且 ParquetSerDe 不知道如何处理它们。
【问题讨论】: