Я создал таблицу улья по следующей схеме и схеме avro, которые у меня были.Импортируйте данные из .avro-файлов в таблицу hive
CREATE TABLE table_name
PARTITIONED BY (t string, y string, m string, d string, h string, hh string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
TBLPROPERTIES (
'avro.schema.url'='hdfs://location/schema.avsc');
Теперь я хочу сбросить данные, которые у меня есть в HDFS, чтобы создать таблицу.
У меня есть местоположение HDFS, где у меня есть данные в структуре каталогов как t/y/m/d/h/hh/data.avro У меня есть несколько каталогов в соответствии с разделом, потому что это мои столбцы разделов.
Я хочу сбросить все данные в созданную таблицу.
Я пробовал использовать внешнюю таблицу, но она дает исключения.
Я не могу использовать LOCATION 'path_hdfs' для создания внешней таблицы, потому что у меня нет разрешения на запись на диске. – KrunalParmar
, когда я использую команду LOAD DATA, я получаю следующее исключение ,,, FAILED: SemanticException [Ошибка 10062]: нужно указать столбцы разделов, потому что таблица назначения разделена .... Как я могу указать раздел? – KrunalParmar
Вы должны объявить разделы во время создания запроса, а затем периодически запускать команду MSCK REPAIR
Приведенный ниже синтаксис будет полезен.
источник
2017-04-11 11:56:23 isudarsan
Смежные вопросы