Как использовать команды Big SQL для автоматизации синхронизации с HIVE через сценарий оболочки? - PullRequest
0 голосов
/ 29 августа 2018

Я написал небольшой сценарий оболочки для автоматизации синхронизации Big SQL и HIVE. Код как показано ниже

echo "Login to BigSql"
<path to>/jsqsh bigsql --user=abc --password=pwd
echo "login succesfull"

echo "Syncing hive table <tbl_name> to Big SQL"
call syshadoop.hcat_sync_objects('DB_name','tbl_name','a','REPLACE','CONTINUE');

echo "Syncing hive table TRAINING_TRACKER to Big SQL Successfully"

К сожалению, я получаю сообщение:

Login to BigSql
Welcome to JSqsh 4.8
Type "\help" for help topics. Using JLine.

И затем он входит в командную строку Big SQL. Теперь, когда я набираю «quit» и нажимаю enter, мне выдаются следующие сообщения:

login succesful
    Syncing hive table <tbl_name> to Big SQL
    ./script.sh: line 10: call syshadoop.hcat_sync_objects(DB_name,tbl_name,a,REPLACE,CONTINUE): command not found

Что я делаю не так?

1 Ответ

0 голосов
/ 25 сентября 2018

Вам нужно будет перенаправить вывод ваших последующих команд в команду jsqsh. Например. см. этот пример

Вы можете запустить JSqsh и одновременно запустить скрипт с помощью этой команды:

/usr/ibmpacks/common-utils/current/jsqsh/bin/jsqsh bigsql < /home/bigsql/mySQL.sql

отсюда https://www.ibm.com/support/knowledgecenter/en/SSCRJT_5.0.2/com.ibm.swg.im.bigsql.doc/doc/bsql_jsqsh.html

...