【发布时间】:2018-10-25 08:34:53
【问题描述】:
我有一个指向包含多个 orc 文件的 s3 路径 (s3:///table/data/) 的配置单元表。 我有一项将文件写入上述前缀的工作,但是,不能保证属性的顺序(在文件中),并且并非所有属性都被填充,即某些文件可能只有数据的子集。
那么,hive 表是否可以使用适当的列名映射列数据并为查询的每一列返回适当的值?
【问题讨论】:
我有一个指向包含多个 orc 文件的 s3 路径 (s3:///table/data/) 的配置单元表。 我有一项将文件写入上述前缀的工作,但是,不能保证属性的顺序(在文件中),并且并非所有属性都被填充,即某些文件可能只有数据的子集。
那么,hive 表是否可以使用适当的列名映射列数据并为查询的每一列返回适当的值?
【问题讨论】:
否ORC表只是根据表中列的顺序读取数据。
如果不保证属性顺序,则hive orc table 读取数据根据表架构如果数据类型匹配则显示值(或)将值转换为该类型(或)null。
可能你需要Create an AVRO table然后根据avro架构表会指向正确的值。
【讨论】:
ORC/Parquet(列)表中以获得更好的性能。