【问题标题】:Creating Hive tables on nested JSON在嵌套 JSON 上创建 Hive 表
【发布时间】:2015-11-05 06:49:20
【问题描述】:

我正在尝试根据我在 hadoop 中的一些 JSON 数据在 hive 中创建一个表。困难的部分是我有一个嵌套的 JSON,其中数据没有在 key:value 对中明确定义:

{  
   "trafficSource":{  
      "source":"(direct)",
      "medium":"(none)"
   },
   "device":{  
      "browser":"(not set)",
      "browserVersion":"(not set)",
      "operatingSystem":"(not set)",
      "operatingSystemVersion":"(not set)",
      "isMobile":false,
      "flashVersion":"(not set)",
      "javaEnabled":false,
      "language":"(not set)",
      "screenColors":"(not set)",
      "screenResolution":"(not set)",
      "deviceCategory":"desktop"
   }

   "hits":[  
      {  
         "customDimensions":[  
            {  
               "index":"1",
               "value":"2"
            },
            {  
               "index":"2",
               "value":"0"
            }
         ],
      }
   ],
}

我想在我的配置单元表中为 JSON 的“hits.customDimensions”中的每个值创建一列。每个数组都包含一个索引和该索引的值。例如,index=1 的列将命名为“User_ID”,值将来自该数组中的“value”参数。

有没有简单的方法来创建这个 HIVE 表?

谢谢!

【问题讨论】:

    标签: json hadoop hive


    【解决方案1】:

    您可以使用 hive 中的 json_tuple UDF 来解析 json 中的属性,但我无法找到解析嵌套 json 的方法。

    以下内容将帮助您解析 json:

    How do you make a HIVE table out of JSON data?

    要将嵌套的 json 放入 Hive 表中,我建议您使用 python 和 Hadoop 流解析 json 文件并将它们转换为扁平结构。从那里继续前进会很容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 2022-01-24
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多