2015-07-16 2 views
0

Я создал таблицу Hive с Avro serde. Ниже приведен код, который я скопировал с веб-сайта, чтобы создать таблицу.Невозможно описать таблицу улья, созданную с использованием avro serde

create table NEW_TABLE 
    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.literal'='{ 
     "name": "my_record", 
     "type": "record", 
     "fields": [ 
      {"name":"boolean1", "type":"boolean"}, 
      {"name":"int1", "type":"int"}, 
      {"name":"long1", "type":"long"}, 
      {"name":"float1", "type":"float"}, 
      {"name":"double1", "type":"double"}, 
      {"name":"string1", "type":"string"}, 
      {"name": "nullable_int", "type": ["int", "null"]]}'); 

Когда я ввел команду для описания таблицы я получил ошибку ниже:

hive> describe new_table; 
OK 
error_error_error_error_error_error_error  string     from deserializer 
cannot_determine_schema string     from deserializer 
check     string     from deserializer 
schema     string     from deserializer 
url      string     from deserializer 
and      string     from deserializer 
literal     string     from deserializer 
Time taken: 0.15 seconds, Fetched: 7 row(s) 

ответ

1

позже я обнаружил, что поля в Avro схеме были разделены табуляцией. Я скопировал код в блокноте и удалил вкладки и повторно запустил команду. Это сработало!!!

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