почему мой скрипт автоматизации beeline не загружает данные в таблицу истории? - PullRequest
0 голосов
/ 18 октября 2018

У меня есть сценарий оболочки, который автоматизирует утилиту beeline для следующих действий:

Усечение промежуточной таблицы. Загрузка данных в промежуточную таблицу и добавление таблицы истории.

Пока все хорошо,Мой код усечает и загружает данные в таблицу заявлений, но не добавляет никаких данных в таблицу истории.Потому что когда я запускаю команду "select count(*) from history_tbl".Я получаю 0 записей в Билайне.

+------+--+
| _c0  |
+------+--+
| 0    |
+------+--+

Удивительно, но когда я делаю "select * from history_tbl;", я вижу фактические данные

| "601809196400"|2018-09-19|"default"|"19"|2018-09-24 08:07:36|0.181156|0.514380|0.033541|0.171328|0.035591|0.064005|0|"df"|
"SYSTEM"|"A3"|"LT40"|"OTH"|"1_1day"|"TRADE"|"NA"|"Z_S"|"40-55"|"M"|"2"|0|"8_14"|0|"N"|"Unilateral
 |  left knee"|""|"SYSTEM"|142|0|0.400000|"UN"|1|"9111"|"6"|"S"|53|"M"|23700.000000|"N"|13|"M"||"rico
 "|"zuba"|"BY "|"chris  
 "|"2023-07-30"|0|"PR"  | NULL| NULL| NUL| NULL| NULL | NU

Я действительно запутался с этими характеристиками.

Ниже приведен скрипт оболочки.

#!/bin/bash
timestamp=$(date +%Y-%m-%d-%H:%M:%S:%N)
number=$RANDOM
unix_time=$(date +%Y-%m-%d-%H:%M:%S)
cd path to script

export BEELINE_PREFIX='"jdbc:hive2://server:port,server:port,server:port/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;principal=hive/server@hello.COM"'
beeline -u $BEELINE_PREFIX -e "use next;"

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

echo "Loading the data in staging table  tbl"
beeline -u $BEELINE_PREFIX -e "LOAD DATA LOCAL INPATH '/path/tbl' INTO TABLE next.tbl;"

echo "Appending the data into history table HIST_tbl.."
beeline -u $BEELINE_PREFIX -e "insert into table next.HIST_tbl select *,'$unix_time','$number' from next.tbl;"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...