Hive 在presto cli上查询在配置单元中以orc格式创建的表失败,该表的数据驻留在s3中

Hive 在presto cli上查询在配置单元中以orc格式创建的表失败,该表的数据驻留在s3中,hive,orc,presto,Hive,Orc,Presto,我设置了一个Amazon EMR实例,其中包括1个主控和1个核心(m4大),并提供以下版本详细信息: 电子病历:5.5.0 普雷斯托:普雷斯托0.170 Hadoop 2.7.3 HDFS Hive 2.1.1元存储 我的Spark应用程序将ORC中的数据写到AmazonS3。然后,我在配置单元中创建了表(create external table table…partition(),存储为ORC位置“s3a”//”),并尝试从presto cli进行查询,查询SELECT*from table

我设置了一个Amazon EMR实例,其中包括1个主控和1个核心(m4大),并提供以下版本详细信息: 电子病历:5.5.0 普雷斯托:普雷斯托0.170 Hadoop 2.7.3 HDFS Hive 2.1.1元存储

我的Spark应用程序将ORC中的数据写到AmazonS3。然后,我在配置单元中创建了表(
create external table table…partition(),存储为ORC位置“s3a”//”
),并尝试从presto cli进行查询,查询
SELECT*from table
)时出现以下错误: 查询20170615\u 033508\u 00016\u dbhsn失败:com.facebook.presto.spi.type.DoubleType

唯一有效的查询是:
从表中选择COUNT(*)


有什么想法吗?

发现了问题。存储为orc时的列顺序与在hive中创建表时的列顺序不匹配:)!!!

AFAIK,
orc
文件已经存在;因此,我不明白为什么仅仅对列进行重新排序就会导致查询失败(我希望在
CSV
文件的情况下会出现这种情况,而不是orc)我同意。@iyerland您能解释一下您是如何对文件进行重新排序的吗?您是使用hive目录进行查询的吗?ORC不应该有订单问题。您能解释一下吗。