Hive json serde - 带有白色空间的钥匙

时间:2017-01-25 22:28:14

标签: json struct hive hive-serde

创建表时,我在结构类型的键名中遇到空格问题。

以下是我正在使用的创建表命令

 CREATE TABLE event_test (
  android_id string,
  app string,
  app_ver string,
  at string,
  birth_date int,
  browser string,
  carrier string,
  city_name string,
  closed_at string,
  `country name` string,
  custom struct<`test name`:string>,
  os_ver string,
 )
  ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
STORED AS TEXTFILE;

以下是错误消息:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.IllegalArgumentException: Error: : expected at the position 85 of 'string:string:string:string:int:string:string:string:string:string:string:struct<test name:string>' but ' ' is found.

“国家名称”与“`”一起工作正常但是如果我创建一个结构和内部结构中的“测试名称”,如果我使用反引号它会抛出错误。有没有办法定义键(名称与struct type中的空格?

先谢谢

0 个答案:

没有答案