Терминал Hive зависает при вставке данных командой INSERT - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь вставить данные во внешнюю таблицу кустов в Hive 1.2 из другой таблицы, используя команду INSERT COmmand-

INSERT INTO perf_tech_security_detail_extn_fltr partition 
            (created_date) 
SELECT seq_num, 
       action, 
       sde_timestamp, 
       instrmnt_id, 
       dm_lstupddt, 
       grnfthr_ind, 
       grnfthr_tl_dt, 
       grnfthr_frm_dt, 
       ftc_chge_rsn, 
       Substring (sde_timestamp, 0, 10) 
FROM   tech_security_detail_extn_fltr 
WHERE  Substring (sde_timestamp, 0, 10) = '2018-05-02'; 

Но оболочка улья висит на ...

hive> SET hive.exec.dynamic.partition=true;
hive> set hive.exec.dynamic.partition.mode=nonstrict;
hive> set hive.enforce.bucketing=true;
hive> INSERT INTO PERF_TECH_SECURITY_DETAIL_EXTN_FLTR partition (created_date) select seq_num, action, sde_timestamp, instrmnt_id, dm_lstupddt, grnfthr_ind, grnfthr_tl_dt, grnfthr_frm_dt, ftc_chge_rsn, substring (sde_timestamp,0,10) from TECH_SECURITY_DETAIL_EXTN_FLTR where substring (sde_timestamp,0,10)='2018-05-02';
Query ID = tcs_20180503215950_585152fd-ecdc-4296-85fc-d464fef44e68
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 100
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>

Журналы улья, как показано ниже -

18-05-03 21: 28: 01,703 ИНФОРМАЦИЯ [главная]: log.PerfLogger (PerfLogger.java:PerfLogEnd(148)) - 2018-05-03 21: 28: 01,716 ОШИБКА [основная]: mr.ExecDriver (ExecDriver.java:execute(400)) - пряжа 2018-05-03 21: 28: 01,758 ИНФОРМАЦИЯ [main]: client.RMProxy (RMProxy.java:createRMProxy(98)) - подключение к ResourceManager по адресу /0.0.0.0:8032 2018-05-03 21: 28: 01,903 ИНФОРМАЦИЯ [основная]: fs.FSStatsPublisher (FSStatsPublisher.java:init(49)) - создано: hdfs: // localhost: 9000 / datanode / nifi_data / perf_tech_security_detail_extn_fltr / .hive-staging_hive_2018-05-03_21-27-59_433_5606951945441160381-1 / -ext-10001 2018-05-03 21: 28: 01,960O клиент. RMProxy (RMProxy.java:createRMProxy(98)) - подключение к ResourceManager по адресу /0.0.0.0:8032 2018-05-03 21: 28: 01,965 ИНФОРМАЦИЯ [main]: exec.Utilities (Utilities.java:getBaseWork(389)) - PLAN PATH = HDFS: // локальный: 9000 / TMP / улей / ТКС / 576b0aa3-059d-4fb2-bed8-c975781a5fce / hive_2018-05-03_21-27-59_433_5606951945441160381-1 / -mr-10003 / 303a392c-2383-41ed-bc9d-78d37ae49f39 /map.xml 2018-05-03 21: 28: 01,967 ИНФОРМАЦИЯ [главная]: exec.Utilities (Utilities.java:getBaseWork(389)) - PLAN PATH = HDFS: // локальный: 9000 / TMP / улей / ТКС / 576b0aa3-059d-4fb2-bed8-c975781a5fce / hive_2018-05-03_21-27-59_433_5606951945441160381-1 / -mr-10003 / 303a392c-2383-41ed-bc9d-78d37ae49f39 /reduce.xml 2018-05-03 21: 28: 22,009 ИНФОРМАЦИЯ [главная]: ipc.Client (Client.java:handleConnectionTimeout(832)) - Повторная попытка подключения к сервер: 0.0.0.0/0.0.0.0:8032. Уже пробовал 0 раз (а); maxRetries = 45 2018-05-03 21: 28: 42,027 ИНФОРМАЦИЯ [главная]: ipc.Client (Client.java:handleConnectionTimeout(832)) - Повторная попытка подключения к сервер: 0.0.0.0/0.0.0.0:8032. Уже пробовал 1 раз (а); maxRetries = 45 .................................................. ........

Я также пытался вставить данные в обычную таблицу без разделов, но даже это не работает-

INSERT INTO emp values (1 ,'ROB')

Ответы [ 2 ]

0 голосов
/ 17 июля 2018

Решено

MapReduce не работает из-за неправильного имени фрейма, поэтому отредактировал свойство mapreduce.framework.name в mapred-site.xml

0 голосов
/ 13 июля 2018

Я не уверен, почему вы не написали таблицу перед именем таблицы, как показано ниже:

INSERT INTO TABLE emp
VALUES (1 ,'ROB'), (2 ,'Shailesh');

Напишите правильные команды, чтобы они работали

...