在后台执行 HIVE 查询

Kou*_*dra 3 hive

当查询如下所示时,如何在后台执行 HIVE 查询

Select count(1) from table1 where column1='value1';
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用如下脚本编写它

 #!/usr/bin/ksh
exec 1> /home/koushik/Logs/`basename $0 | cut -d"." -f1 | sed 's/\.sh//g'`_$(date +"%Y%m%d_%H%M%S").log 2>&1

ST_TIME=`date +%s`

cd $HIVE_HOME/bin

./hive -e 'SELECT COUNT(1) FROM TABLE1 WHERE COLUMN1 = ''value1'';'

END_TIME=`date +%s`
TT_SECS=$(( END_TIME - ST_TIME))
TT_HRS=$(( TT_SECS / 3600 ))
TT_REM_MS=$(( TT_SECS % 3600 ))
TT_MINS=$(( TT_REM_MS / 60 ))
TT_REM_SECS=$(( TT_REM_MS % 60 ))
printf "\n"
printf "Total time taken to execute the script="$TT_HRS:$TT_MINS:$TT_REM_SECS HH:MM:SS
printf "\n"
Run Code Online (Sandbox Code Playgroud)

但出现错误,例如

FAILED: SemanticException [Error 10004]: Line 1:77 Invalid table alias or column reference 'value1'
Run Code Online (Sandbox Code Playgroud)

让我确切地知道我在哪里做错了。

小智 5

创建一个名为 example 的文档

vi example
Run Code Online (Sandbox Code Playgroud)

在文档中输入查询并保存。

create table sample as
Select count(1) from table1 where column1='value1';
Run Code Online (Sandbox Code Playgroud)

现在使用以下命令运行该文档:

hive -f example 1>example.error 2>example.output &
Run Code Online (Sandbox Code Playgroud)

你会得到如下结果

[1]

现在否认这个过程:

否认

现在该进程将在后台运行。如果你想知道输出的状态,你可以使用

tail -f example.output
Run Code Online (Sandbox Code Playgroud)