hive json serde-key

sr4lhrrt  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(334)

在创建表时,我遇到了结构类型中key name中的空格问题。
下面是我正在使用的createtable命令

  1. CREATE TABLE event_test (
  2. android_id string,
  3. app string,
  4. app_ver string,
  5. at string,
  6. birth_date int,
  7. browser string,
  8. carrier string,
  9. city_name string,
  10. closed_at string,
  11. `country name` string,
  12. custom struct<`test name`:string>,
  13. os_ver string,
  14. )
  15. ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
  16. STORED AS TEXTFILE;

以下是错误消息:

  1. 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.

“country name”与“``”配合使用很好,但是如果我创建一个结构,并且在结构内部使用backtick,那么“test name”就是抛出错误。有没有办法在struct type中定义键(名称之间有空格)?
提前谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题