外部表未正确加载

时间:2015-04-20 12:11:59

标签: unix hive

我有一个hive查询,可以将数据加载到外部表中。是否有可能无法将数据加载到表格中!!!

当我手动运行查询时,表格会加载数据。但是当它在自动化脚本中运行时,有时数据不会填充到表中。我拥有对路径的所有访问权限并且我正在使用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 个答案:

答案 0 :(得分:1)

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

它不应该工作,因为您的数据位于hdfs上。 请改用hdfs test命令。下面是一个例子:

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