Проблемы потока данных улья - PullRequest
0 голосов
/ 29 июня 2018

Я использую Hive в кластере HDInsights / Azure Spark 2.2, отправляя свои запросы через Ambari, данные хранятся во внешних таблицах на озере данных Azure. Промежуточные и целевые таблицы разделены.

Я работал над загрузкой данных в Hive сегодня. Поток данных идет из файла .gz -> промежуточная таблица -> целевая таблица. Это инкрементная загрузка, соединение слева от цели к приземлению, чтобы сохранить старые данные, а затем объединить все с новыми данными для полного набора.

Я заметил некоторые поведения, которые кажутся мне странными, надеялся собрать больше информации.

Наблюдение 1: После запуска сценария я заметил, что новые данные отсутствуют в промежуточной или конечной цели из исходного файла table / gz. Я не ожидал бы этого, так как там присутствует СОЮЗ ВСЕХ.

Замечание 2: я сделал один шаг, вручную загрузив данные в свою промежуточную таблицу из файла / таблицы .gz. Я запускаю простой подсчет (*). Возвращает 39к, отлично. Я пытаюсь запустить select *, где val = XYZ, он возвращает записи, снова отлично. Я ставлю счетчик (*) на это выражение, начинает возвращать 0 записей.

Извините, если мои мысли перепутаны, но я хотел знать, есть ли кто-нибудь, кто сталкивался с подобными событиями и как их преодолеть. Сообщите мне любые необходимые разъяснения.

1 Ответ

0 голосов
/ 29 июня 2018

Вы уверены, что в вашем ключе нет пробелов? Вы пробовали обрезать (val)?

Наблюдение 2 действительно удивительно: из того же самого предиката у вас есть строки, возвращаемые с помощью select *, но ничего с select (*)?

Не могли бы вы включить SQL-запросы и несколько строк данных?

...