【问题标题】:Bad status for request error in ImpalaImpala 中请求错误的错误状态
【发布时间】:2016-07-14 12:08:20
【问题描述】:

我已将 s3 中的多个文件数据复制到一个带有位置的临时外部表中。现在我将相同的数据复制到另一个分区表中。在运行 40-50% 后显示以下错误..

我的查询(HUE-Impala):

Create table IF NOT EXISTS tbl_request_main (
a string,b int,c string)
PARTITIONED BY (year int,month int,day int)
STORED AS PARQUET;

Create table IF NOT EXISTS tbl_request_temp (
a string,b int,c string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' STORED AS TEXTFILE
LOCATION 's3://request';

select * from tbl_request_temp; #No error..Getting Result

INSERT INTO tbl_request_main partition (year=2016,month=07,day=07) select * from tbl_request_temp;

错误!!

您的查询有以下错误:

请求 1631 的错误状态:TGetOperationStatusResp(status=TStatus(errorCode=None, errorMessage=None, sqlState=None, infoMessages=None, statusCode=0), operationState=5, errorMessage=None, sqlState=None, errorCode=无)

黑斑羚有什么问题?

【问题讨论】:

    标签: amazon-s3 hive impala


    【解决方案1】:

    默认情况下,Hive 使用 '\1' 作为字段分隔符。您的主表是使用默认的 RAW FORMAT 创建的,这与您的临时表不同。您可以查看详细的表信息并比较两个表的field delimiter(从 hive shell 运行)

    DESCRIBE FORMATTED tbl_request_mainDESCRIBE FORMATTED tbl_request_temp

    所以两个表应该有相同的ROW FORMAT。重新创建tbl_request_main,然后运行INSERT 语句。

    Create table IF NOT EXISTS tbl_request_main (a string,b int,c string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n' 
    PARTITIONED BY (year int,month int,day int)
    STORED AS PARQUET;
    

    您可以升级 impala 以获得详细的错误消息 - HUE-2307

    【讨论】:

    • 您好,感谢您的回复。我再次尝试使用 ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS PARQUET 仍然遇到同样的错误,它没有显示为 select 语句,但用于插入
    • 这些插入语句从hive shell 运行是否正常?
    猜你喜欢
    • 1970-01-01
    • 2015-06-12
    • 2019-09-13
    • 2017-09-07
    • 2015-04-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 2018-08-09
    相关资源
    最近更新 更多