Как создать одну таблицу Hive, когда у меня есть несколько файлов (в одной папке / каталоге), которые имеют одинаковые столбцы? - PullRequest
0 голосов
/ 10 июня 2019

У меня есть около 10 файлов в том же месте HDFS. Все файлы имеют одинаковые столбцы (около 15), каждый из которых содержит около 100 строк. Каждый файл представляет данные, которые я получил за последние 10 месяцев (данные обновляются ежемесячно). Я хотел бы создать одну таблицу HIVE, которая объединяет все данные в таблицы. Таблица должна иметь 15 столбцов с около 1000 строк данных.

Я пытался использовать код, который обычно использую для создания таблиц (см. Ниже), но когда я запускаю сценарий ниже, он выполняется, но только получает данные из одного файла, но не из другого 9.

CREATE EXTERNAL TABLE database.tablename (
UserID INT,
UserName String,
Department String,
State String
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/location/of/the/file/'
TBLPROPERTIES ("skip.header.line.count"="1");

Я не получаю никаких ошибок, но я получаю только некоторые данные, а не все. Должен ли я использовать совершенно другой синтаксис? или я могу отредактировать скрипт выше, чтобы получить нужные мне результаты?

Любая помощь очень ценится! Постскриптум Очень плохо знаком с Hadoop / HIVE, поэтому я стараюсь учиться, сталкиваясь с этими разными сценариями. Спасибо всем!

1 Ответ

0 голосов
/ 11 июня 2019

Не могли бы вы когда-нибудь убедиться, что все файлы помещены в '/location/of/the/file/' местоположение.

Если в таблице указано несколько каталогов , указывающее местоположение ('/location/of/the/file/'), то задайте эти параметры втекущий сеанс куста и выполните запрос:

SET hive.mapred.supports.subdirectories=TRUE;
SET mapred.input.dir.recursive=TRUE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...