Hive 配置单元表(ORC类型)指向的ORC文件是否应包含配置单元表中的所有属性?

Hive 配置单元表(ORC类型)指向的ORC文件是否应包含配置单元表中的所有属性?,hive,orc,Hive,Orc,我有一个配置单元表,它指向包含多个orc文件的s3路径s3:///table/data/。 我有一个将文件写入上述前缀的作业,但不能保证文件中属性的顺序,也不能填充所有属性,即某些文件可能只有数据子集 那么,配置单元表是否可以使用适当的列名映射列数据,并为查询的每个列返回适当的值?不,如果ORC表只是根据表中列的顺序读取数据 如果不保证属性的顺序,则配置单元orc表根据表架构读取数据。如果数据类型匹配,则显示值或将值转换为该类型或null 可能您需要根据avro架构表来指定正确的值。谢谢您的回复

我有一个配置单元表,它指向包含多个orc文件的s3路径s3:///table/data/。 我有一个将文件写入上述前缀的作业,但不能保证文件中属性的顺序,也不能填充所有属性,即某些文件可能只有数据子集

那么,配置单元表是否可以使用适当的列名映射列数据,并为查询的每个列返回适当的值?

不,如果ORC表只是根据表中列的顺序读取数据

如果不保证属性的顺序,则配置单元orc表根据表架构读取数据。如果数据类型匹配,则显示值或将值转换为该类型或null


可能您需要根据avro架构表来指定正确的值。

谢谢您的回复!。是的,现在我在确保ORC文件中属性的顺序后没有问题了。我们需要columnnar存储以获得更好的查询性能,我们将查看Arvo是否符合我们需要的性能。@barath,您可以使用Avro表作为暂存表,然后您可以从Avro表插入ORC/Parquet柱状表中进行选择以获得更好的性能。