如何将包含JSON字符串作为每行一部分的平面文件存储和查询到hive表中?

时间:2016-07-31 09:51:38

标签: json hive hdfs

我在HDFS中有一个平面文本文件

  

44,UK,{"名称" {" NAME1":"约翰"" NAME2":"嫁& #34;" NAME3":"米歇尔"}"水果" {" fruit1":"苹果" " fruit2":"橙"}},31-07-2016

     

91,印度,{"名称" {" NAME1":"拉姆"" NAME2":"萨姆和#34;}"水果":{}},31-07-2016

并希望将其存储在模式为

的配置单元表中
  

创建表数据(SerNo int,国家/地区字符串,详细信息字符串,日期字符串)

那么表格定义应该是什么,以便{" name":.....}将作为一列列为" detail"和其他人一起休息? 什么应该是列分隔符?这样我就可以使用 get_json_object udf以及其他列查询详细信息列。

谢谢。

1 个答案:

答案 0 :(得分:0)

Hive适用于Json格式数据,直到Json文件没有嵌套在多个级别。在这种情况下,最好使您的Json文件更加平坦。

参考https://pkghosh.wordpress.com/2012/05/06/hive-plays-well-with-json/

在这里,您可以找到针对您问题的解释答案。