为什么在连接到beeline CLI之后,beeline CLI参数不执行任何操作?

时间:2018-10-12 14:35:55

标签: shell hive beeline

我有一个shell脚本代码,可以自动执行beeline命令。该代码能够连接到JDBC,但是它位于那儿,似乎不执行Shell脚本中的其他代码,即。它不会截断表,不会加载数据,不会插入。下面是完整的代码:

Scaffold-DbContext

我可以看到以下输出:

#! /bin/bash

timestamp=$(date +%Y-%m-%d-%H:%M:%S:%N)
unix_time=$(date +%Y-%m-%d-%H:%M:%S)

export 

BEELINE_PREFIX='"jdbc:hive2://server:port,server:port,server:port/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveser

ver2;principal=hive/server@hello.COM"'

beeline -u $BEELINE_PREFIX -e use next;

echo "truncating the staging table tbl1..."
beeline -u $BEELINE_PREFIX -e  "TRUNCATE TABLE next.tbl1;"

echo "Loading the data in stating table tbl1"
beeline -u $BEELINE_PREFIX -e "LOAD DATA LOCAL INPATH 'path_to/tbl1.txt' INTO TABLE next.tbl1;"

echo "Appending the data into history table tbl1.."
beeline -u $BEELINE_PREFIX -e "insert into table next.hist_tbl1 select *,'$unix_time' from next.tbl1;"

When I execute ./tbl1.sh

该代码似乎只执行veru首先的“ beeline -u”,即仅执行JDBC连接。 我注意到,当我使用ctrl + c时,它将前进并抛出错误

Connecting to 

jdbc:hive2://jdbc:hive2://server:port,server:port,server:port/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2

;principal=hive/server@hello.COM
Connected to: Apache Hive
Driver: Hive JDBC
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.2.1000.2.6.5.0-292 by Apache Hive

任何想法,这是什么错误?

1 个答案:

答案 0 :(得分:0)

问题已解决。在使用蜂巢数据库beeline -u $BEELINE_PREFIX之前,我在原始代码中使用了额外的"use database".行。脚本正常运行。