当查询如下所示时,如何在后台执行 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)
| 归档时间: |
|
| 查看次数: |
9352 次 |
| 最近记录: |