Presto 查询 hive ORC 上的错误,无法从 DOUBLE 类型的 ORC 流中读取 SQL 类型真实数



我能够在presto中运行查询以从Hive ORC(snappy(表中读取非浮点列。但是,当我通过presto cli选择所有浮点数据类型列时,会给我以下错误消息。任何建议除了在目标蜂巢表中将归档类型更改为双倍之外,还有什么替代方案

Presto:sample> 从emp_detail中选择 *;

查询20200107_112537_00009_2zpay失败:打开 Hive 拆分 hdfs://ip_address/warehouse/tablespace/managed/hive/sample.db/emp_detail/part-00079-5b0c6005-0943-4181-951f-43bcfcfe741f-c000.snappy.orc 时出错(偏移量 = 0,长度 = 1999857(:ORC 文件格式不正确。无法从 ORC 流中读取 SQL 类型真实数 .DOUBLE 的工资 [hdfs://ip_address/warehouse/tablespace/managed/hive/sample.db/emp_detail/part-00079-5b0c6005-0943-4181-951f-43bcfcfe741f-c000.snappy.orc]

请尝试添加此属性

hive.orc.use-column-names=true

presto-server/conf/catalog/hive.properties, 并重新启动您的 Presto 服务器。

要在不重新启动服务器的情况下对其进行测试,请从presto-cli运行以下命令

SET SESSION hive.orc_use_column_names=true;

Presto 关于这些属性的发行说明。