Snappydata и внешняя совместимость Hive - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь использовать Snappydata 1.0.1 для чтения и обработки данных из Hadoop (HDP 2.6.3).

При указании на метасторное хранилище Hive (через hive-site.xml в конфигурации Snappydata) Spark из дистрибутива Snappydata может читать список баз данных, но не может создавать таблицы в Snappydata. Он говорит «Таблица не найдена». Более того, пользовательский интерфейс кластера Snappydata показывает эту таблицу, но Snappydata не может работать с ней дальше - команды INSERT, SELECT, DROP с этой таблицей выдают ошибку «таблица не найдена», а последующий CREATE TABLE сообщает «Таблица уже существует».

Без указания метасторака Hive работает хорошо.

Конфигурация в hive-site.xml:

<property>
  <name>hive.metastore.uris</name>
  <value>thrift://srv1.company.org:9083</value>
</property>

Кроме того, мы используем режим Smart Connector.

Это кажется очень странным - указание на Hive metastore нарушает код Snappydata, который совершенно не связан с внешним Hive (мы пока не читаем и не пишем из Hadoop).

Существует гипотеза, что Snappydata несовместим с нашей версией метастазов Hive, и эта несовместимость приводит к странному поведению. Может кто-нибудь прояснить этот вопрос?

1 Ответ

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

Кажется, что для чтения данных из Hadoop (Hive, HDFS) нам необходимо создать точно такую ​​же внешнюю таблицу в Snappydata. Т.е. имея таблицу A в Hadoop, мы должны создать таблицу с таким же определением и ключевым словом EXTERNAL в Snappydata для чтения данных из таблицы Hadoop A. Это можно объяснить существованием собственного хранилища метаданных в Snappydata.

Однако из документов это не ясно. И очень жаль, что никто не ответил на этот вопрос в течение почти двух недель.

...