0

在 Hive 表中,我有列(都有字符串数据类型)

客户 ID、姓名、性别

名称数据类型是格式字符串

{'firstname': 'XXXXXX', 'middlename': 'YYYYYY',  'lastname': 'ZZZZZZ'}

此外,有些行缺少中间名 -

CustomerId, {'firstname': 'AAAAAA', 'lastname': 'BBBBB'}, Gender 

我想创建一个新表并填充以下列 -

CustomerId, firstname, middlename, lastname , Gender. 

如果值不存在,中间名将为空/空格。能否请你帮忙?

4

1 回答 1

0

这些不是有效的 JSON 字符串,请使用双引号而不是单引号,然后您可以使用它JSON_TUPLE()来提取字段。

CREATE TABLE yournewtable AS
 SELECT customerid,
       firstname,
       middlename,
       lastname,
       gender
FROM yourtable lateral view 
  json_tuple(Name,'firstname','middlename','lastname') 
j as firstname, middlename,lastname;
于 2018-12-02T07:58:58.947 回答