gpt4 book ai didi

hadoop - Presto查询引发错误-执行SELECT时StageStateMachine NullPointer *

转载 作者:行者123 更新时间:2023-12-02 21:09:43 27 4
gpt4 key购买 nike

我正在将S3的 Parquet 文件加载到在EMR机器中运行的Hive数据仓库中:
Release: emr-5.1.0Hadoop distribution: Amazon 2.7.3Applications: Hive 2.1.0, Spark 2.0.1, Presto 0.152.3)
我可以使用以下命令轻松查询配置单元中的结果:
select * from table_a
但是,当我使用presto尝试相同的查询时,出现以下错误:

ERROR   remote-task-callback-57 com.facebook.presto.execution.StageStateMachine Stage 20161117_211631_00018_29xwg.1 failed
java.lang.NullPointerException
at com.facebook.presto.spi.RecordPageSource.getNextPage(RecordPageSource.java:124)
at com.facebook.presto.operator.TableScanOperator.getOutput(TableScanOperator.java:246)
at com.facebook.presto.operator.Driver.processInternal(Driver.java:378)
at com.facebook.presto.operator.Driver.processFor(Driver.java:301)
at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:622)
at com.facebook.presto.execution.TaskExecutor$PrioritizedSplitRunner.process(TaskExecutor.java:529)
at com.facebook.presto.execution.TaskExecutor$Runner.run(TaskExecutor.java:665)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

我知道我的presto能够查询配置单元表,因为我可以这样做:
select count(1) from table_a

select column_name from table_a
我的第一选择有什么问题?

最佳答案

我发现了问题。

当我定义配置单元create table时,我添加了一个在文件中尚不存在的字段(它将很快存在)。

使用Presto,我可以为表的所有字段添加select column_name from table_a,但不包括缺少的字段(这解释了为什么select * from table_a无法正常工作)。

Hive通过在查询结果中填充null值来处理文件中缺少的参数。 Presto尝试查找该字段,并引发NullPointerException

机器版本:Hive 2.1.0, Spark 2.0.1, Presto 0.152.3
编辑:

添加这两个标志(一个用于orc,另一个用于 Parquet ):

hive.parquet.use-column-names = true
hive.orc.use-column-names = true

hive.properties:
/etc/presto/conf/catalog/hive.properties #path on emr

关于hadoop - Presto查询引发错误-执行SELECT时StageStateMachine NullPointer *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com