【问题标题】:Hive parse string to columnsHive 将字符串解析为列
【发布时间】:2019-05-03 19:52:47
【问题描述】:

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

客户 ID、姓名、性别

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

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

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

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

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

CustomerId, firstname, middlename, lastname , Gender. 

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

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

    那些不是有效的 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-19
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      相关资源
      最近更新 更多