2016-09-02 2 views
6

У меня есть следующий файл на HDFS: enter image description hereСоздания многораздельной внешней таблицы с ульем: нет данных

я создаю структуру внешней таблицы в улье:

CREATE EXTERNAL TABLE google_analytics(
    `session` INT) 
PARTITIONED BY (date_string string) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
LOCATION '/flumania/google_analytics'; 

ALTER TABLE google_analytics ADD PARTITION (date_string = '2016-09-06') LOCATION '/flumania/google_analytics'; 

После что структура таблицы создается в Hive, но я не вижу никаких данных: enter image description here

Поскольку это внешняя таблица, данные в sertion следует делать автоматически, не так ли?

+0

Вы должны использовать либо ** вставить переписать **, либо ** вставить в ** для вставки данных в таблицу разделов –

+0

Я думаю, что не потому, что это внешняя таблица. – rom

+0

Таблица ddl должна иметь два столбца вправо. – dileepvarma

ответ

1

Я думаю, проблема была в команде alter table. Код ниже решить мою проблему:

CREATE EXTERNAL TABLE google_analytics(
    `session` INT) 
PARTITIONED BY (date_string string) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
LOCATION '/flumania/google_analytics/'; 

ALTER TABLE google_analytics ADD PARTITION (date_string = '2016-09-06'); 

После этих двух шагов, если у вас есть DATE_STRING = 2016-09-06 вложенная папка с файлом CSV, соответствующую структуре таблицы, данные будут автоматически загружены и вы уже можете использовать отдельные запросы для просмотра данных.

Решенный!

1

Ваш файл должен быть в этой последовательности.

INT, строка

здесь содержимое файла в следующей последовательности

строки, внутр

изменить файл ниже.

86, "2016-08-20"
78, "2016-08-21"

Он должен работать.
Также не рекомендуется использовать ключевые слова в качестве имен столбцов (дата);

+0

Я изменил порядок столбцов и переименовал поле даты. Все еще нет данных. Любая другая идея? – rom

Смежные вопросы