2016-07-14 54 views
0

我已經從s3複製了多個文件中的數據到一個具有位置的臨時外部表中。現在我將相同的數據複製到另一個分區表中。過了一會兒,40-50%運行其下面顯示的錯誤..Impala中請求錯誤的狀態不正確

我的查詢(HUE-黑斑羚):

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; 

錯誤!

你的查詢有以下錯誤(S):

不良狀態的請求1631:TGetOperationStatusResp(狀態= TStatus(錯誤碼=無,的errorMessage =無,SQLSTATE =無,infoMessages =無,的StatusCode = 0),operationState = 5,errorMessage = None,sqlState = None,errorCode = None)

Impala的問題是什麼?

回答

0

默認情況下,Hive使用'\ 1'作爲字段分隔符。你的主表是用默認的RAW FORMAT創建的,它和你的臨時表不一樣。您可以查看詳細信息表和比較field delimiter兩個表(從蜂巢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; 

可以升級黑斑羚獲得詳細的錯誤信息 - HUE-2307

+0

您好,感謝您的答覆。我曾試圖再次威斯羅FORMAT DELIMITED TERMINATED BY FIELDS「」 LINES TERMINATED BY‘\ n’ 存儲爲實木複合地板仍然得到同樣的錯誤,它不是顯示了SELECT語句,但插入 –

+0

做這些插入語句運行從'hive' OK貝殼? –