Ошибка: путь не является файлом при включении транзакции Hive и выполнении запроса на соединение в транзакционных таблицах - PullRequest
0 голосов
/ 12 декабря 2018

Версия Hive: 1.3.0

Я включаю функцию транзакции Hive, устанавливая

Сторона HiveServer

hive.support.concurrency=true
hive.enforce.bucketing=true
hive.exec.dynamic.partition.mode=nonstrict
hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager

Сторона Metastore

hive.compactor.initiator.on=true
hive.compactor.worker.threads=1

И создайте таблицу транзакций, например:

CREATE TABLE hello_acid (key int, value int)
PARTITIONED BY (load_date date)
CLUSTERED BY(key) INTO 3 BUCKETS
STORED AS ORC TBLPROPERTIES ('transactional'='true');

Вставьте значение:

INSERT INTO hello_acid partition (load_date='2016-03-01') VALUES (1, 1);

Затем я запускаю следующий запрос:

SELECT h1.key from hello_acid h1 JOIN hello_acid h2 ON (h1.key = h2.key);

Я получаюошибка ниже:

java.io.IOException: java.io.FileNotFoundException: Path is not a file: /user/hive/warehouse/hello_acid/load_date=2016-03-01
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...