2015-04-20 75 views
0

我有一個將數據加載到外部表格的配置單元查詢。有沒有任何可能的數據可能不會被加載到表!外部表格未正確加載

當我手動運行查詢時,表中加載了數據。但是當它在自動化腳本中運行時,有時候數據沒有被填充到表中。我具有對路徑的所有訪問權限,並且使用MAPR分發

請幫我理解這種情況。

這裏是我的代碼片段,

CREATE EXTERNAL TABLE IF NOT EXISTS A 
(
. 
. 
. 
. 
. 
. 
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 
STORED AS TEXTFILE 
LOCATION 'a/b/c/d/A' 

INSERT OVERWRITE TABLE <DB_NAME>.A 
SELECT 
DISTINCT 
. 
. 
. 
. 
. 
. 
FROM <DB_NAME>.B; 

if [ -s 'a/b/c/d/A' ]; then 
    echo "Data found" 
else 
    echo "No data found" 
fi 

當手動運行查詢,我能看到一個記錄,但是當通過UNIX自動化,它打印未找到任何數據。我的意思是數據沒有加載到表中

+1

分享您的表中的數據集腳本 –

回答

1
if [ -s 'a/b/c/d/A' ]; then 
    echo "Data found" 
else 
    echo "No data found" 
fi 

它不應該工作,因爲您的數據位於hdfs。 改爲使用hdfs測試命令。下面的例子:

`hdfs dfs -test -e /a/b/c/d/A` 
if [ $? -ne 0 ]; then 
else 
    echo "No data found" 
fi 
+0

其外部表和路徑不倉庫路徑......我們正在使用MAPR分佈 –

+0

我可以用你的建議同意..我在這裏的情況是數據還不填充到表中,但手動運行查詢將數據加載到表 –

+0

MAPR,好吧(它沒有在最初的問題中說明)。執行查詢時,應該檢查由配置單元返回的值。檢查[鏈接](https://www.mapr.com/blog/quick-tips-using-hive-shell-inside-scripts#.VTYZB5NJ6gl)設置。 – laurentgir