У меня есть внешняя таблица с данными JSON, и я использую JsonSerde для заполнения данных в таблице. Я правильно заполняю данные, и когда я запрашиваю данные, я могу правильно видеть результаты.Hive JSON Serde MetaStore Issue
Но, когда я использую команду desc
на этой таблице, я получаю текст from deserializer
для всех комментариев к столбцу.
Ниже приведено создание таблицы ddl.
CREATE EXTERNAL TABLE IF NOT EXISTS my_table (
field1 string COMMENT 'This is a field1',
field2 int COMMENT 'This is a field2',
field3 string COMMENT 'This is a field3',
field4 double COMMENT 'This is a field4'
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde'
Location '/user/uszszb6/json_test/data';
Записи в файле данных.
{"field1":"data1","field2":100,"field3":"more data1","field4":123.001}
{"field1":"data2","field2":200,"field3":"more data2","field4":123.002}
{"field1":"data3","field2":300,"field3":"more data3","field4":123.003}
{"field1":"data4","field2":400,"field3":"more data4","field4":123.004}
Когда я использую команду desc my_table, я получаю нижний вывод.
+-----------+------------+--------------------+--+
| col_name | data_type | comment |
+-----------+------------+--------------------+--+
| field1 | string | from deserializer |
| field2 | int | from deserializer |
| field3 | string | from deserializer |
| field4 | double | from deserializer |
+-----------+------------+--------------------+--+
JsonSerde не может следить за комментариями надлежащим образом. Я также пробовал с другим JSONSerde, как
org.openx.data.jsonserde.JsonSerDe
org.apache.hive.hcatalog.data.JsonSerDe
com.amazon.elasticmapreduce.JsonSerde
Но выход команды desc такой же. Существует билет JIRA для этой ошибки [https://issues.apache.org/jira/browse/HIVE-6681][1]
Согласно билету разрешено в версии 0.13, я использую куст 1.2.1, но все же я столкнулся с этой проблемой.
Не могли бы вы поделиться своими мыслями по решению этой проблемы.
Да, я пробовал это, но ожидание - получить его от desc my_table. Кроме того, извлечение информации о комментариях будет очень сложным. – Shivaprasad