我有一个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自动化时,它正在打印找不到数据。我的意思是数据没有加载到表中
答案 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