Создайте таблицу Hive (0.10) для данных схемы с помощью Parquet Fileformat

Я хочу экспортировать данные с сервера в улей. У меня есть 3 уровня вложенных данных в виде классов Java. Мне удалось создать схему avro с помощью Avro Tools ReflectData и записать данные в файлы avro с помощью ReflectDatumWriter. В Hive мне удалось создать таблицу и указать схему с помощью

TBLPROPERTIES 
  ('avro.schema.url'='hdfs:///schema.avsc');

Я вижу, что есть способ экспортировать те же данные в формате паркета http://blog.cloudera.com/blog/2014/05/how-to-convert-existing-data-into-parquet/

Допустим, я сделал это и имею те же данные в файлах паркета. Как мне запросить эти данные экспорта паркета в Hive? Но как указать схему улья? Я не хочу писать в улье огромный оператор создания таблицы со всей вложенной схемой. Как указать нулевые значения для некоторых членов в схеме? Есть ли способ, которым я могу напрямую создать схему паркета, например схему avro, и передать Hive с помощью оператора create table?


person Urvishsinh Mahida    schedule 15.10.2014    source источник


Ответы (1)


Для запроса данных в кусте вы можете создать внешнюю таблицу улья и указать местоположение файла. Нравится

CREATE EXTERNAL TABLE XXX (...) ROW FORMAT SERDE 'parquet.hive.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT "parquet.hive.DeprecatedParquetInputFormat" OUTPUTFORMAT "parquet.hive.DeprecatedParquetOutputFormat" LOCATION '/you/location/here';

Невозможно не указать этот оператор, потому что создание файла независимо от хранилища метаданных улья, и все, что вы можете делать с AVRO, - это просто сгенерировать файл данных.

person 1esha    schedule 03.11.2014