Hive复杂数组字典(Json-Array)解析
数据存储字段格式如下(Json-Array互相嵌套):
string='{"id":"9088848902695992720","title":"猛犸电动(共和新路旗舰店)","address":"上海市静安区共和新路492号","category":"购物:自行车专卖","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"静安区","fromSearch":1,"range":true,"name":"猛犸电动(共和新路旗舰店)","tag":false,"price":false,"description":"上海市静安区共和新路492号","area_id":"310106","business_name":"猛犸电动(共和新路旗舰店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛犸电动(共和新路旗舰店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000","extra_items":[{"id":"9088848902695992720","title":"猛犸电动(共和新路旗舰店)","address":"上海市静安区共和新路492号","category":"购物:自行车专卖","type":0,"location":{"lat":31.251923,"lng":121.463251},"adcode":"310106","province":"上海市","city":"上海市","district":"静安区","fromSearch":1,"range":true,"name":"猛犸电动(共和新路旗舰店)","tag":false,"price":false,"description":"上海市静安区共和新路492号","area_id":"310106","business_name":"猛犸电动(共和新路旗舰店)","latitude":31.251923,"longitude":121.463251,"poi_name":"上海市 · 猛犸电动(共和新路旗舰店)","poi_id":"9088848902695992720","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"1737914136852040362","title":"猛犸电动(中山南二路旗舰店)","address":"上海市徐汇区中山南二路861号","category":"购物:自行车专卖","type":0,"location":{"lat":31.184747101,"lng":121.450555437},"adcode":"310104","province":"上海市","city":"上海市","district":"徐汇区","fromSearch":1,"range":true,"name":"猛犸电动(中山南二路旗舰店)","tag":false,"price":false,"description":"上海市徐汇区中山南二路861号","area_id":"310104","business_name":"猛犸电动(中山南二路旗舰店)","latitude":31.184747,"longitude":121.450555,"poi_name":"上海市 · 猛犸电动(中山南二路旗舰店)","poi_id":"1737914136852040362","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"},{"id":"2079399087608466027","title":"猛犸电动专卖店(共江路店)","address":"上海市宝山区共江路204号","category":"购物:自行车专卖","type":0,"location":{"lat":31.331000146,"lng":121.456731092},"adcode":"310113","province":"上海市","city":"上海市","district":"宝山区","fromSearch":1,"range":true,"name":"猛犸电动专卖店(共江路店)","tag":false,"price":false,"description":"上海市宝山区共江路204号","area_id":"310113","business_name":"猛犸电动专卖店(共江路店)","latitude":31.331,"longitude":121.456731,"poi_name":"上海市 · 猛犸电动专卖店(共江路店)","poi_id":"2079399087608466027","level":1,"selected":true,"rangeDistance":"2.0","citycode":"310000"}]}' select poi_name_now
,get_json_object(m, '$.poi_name') as poi_name
from (
select get_json_object(string, '$.poi_name') as poi_name_now --当前门店
,get_json_object(string, '$.extra_items') as extra_it --所有门店
from table
)
LATERAL view explode(split(regexp_replace(extra_it,'^\\[|]$',''), ',(?!")')) ext_it as m
group by poi_name_now,get_json_object(m, '$.poi_name')
最终展示结果:
参考链接:https://stackoverflow.com/questions/62512180/hive-explode-each-json-element-in-json-array-to-rows
Hive复杂数组字典(Json-Array)解析的更多相关文章
- iOS 字典或者数组和JSON串的转换
在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSEr ...
- .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象
原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...
- Js前端传递json数组至服务器端并解析的实现。
最近做的一个小项目中需要将json数组数据传递到服务器端进行保存,现分享一下解决思路. 环境:EasyUi+Mvc 4.0 如下: 在上述截图中的红色圈起来的部分,需要在点击保存后通过一次ajax请求 ...
- JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
- [Cannot deserialize JSON array into type] NewtonSoft.Json解析数据出错原因
今天用NewtonSoft.JSon解析一个天气数据,数据格式如: {"status":1,"detail":"\u6570\u636e\u83b7\ ...
- Poco::JSON::Array 中object 设置preserveInsertionOrder 时,stringify出错-->深入解析
在使用poco version 1.6.0时 Poco::JSON::Array 在object 设置preserveInsertionOrder =true 时 调用 array.stringif ...
- 双数组字典树(Double Array Trie)
参考文献 1.双数组字典树(DATrie)详解及实现 2.小白详解Trie树 3.论文<基于双数组Trie树算法的字典改进和实现> DAT的基本内容介绍这里就不展开说了,从Trie过来的同 ...
- plist文件、NSUserDefault 对文件进行存储的类、json格式解析
========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...
随机推荐
- JAVA主要类集分类
包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() int 以 int 型返回此 Intege ...
- Servlet-通过继承HttpServlet类实现Servlet程序
通过继承HttpServlet类实现Servlet程序(开发一般用) 一般在实际项目开发中,都是使用继承 HttpServlet类的方式实现Servlet程序 1,编写一个类去继承 HttpServl ...
- (转引)数据库索引(MySQL)
数据结构和算法基础 索引的本质:数据结构,帮助高效获取数据 数据库的查询:最基本的查询算法当然是顺序查找(linear search).二分查找(binary search).二叉树查找(binary ...
- K8s 资源范围管理对象 LimitRange
默认情况下如果创建一个 Pod 没有设置 Limits 和 Requests 对其加以限制,那么这个 Pod 可能能够使用 Kubernetes 集群中全部资源, 但是每创建 Pod 资源时都加上这个 ...
- Docker常用命令速查
docker pull ${CONTAINER NAME} #拉取镜像 docker images #查看本地所有镜像 docker ps #查看所有正在运行的容器,加-q返回id docker ps ...
- kubernetes集群各模块功能描述
Master节点: Master节点上面主要由四个模块组成,APIServer,schedule,controller-manager,etcd APIServer: APIServer负责对外提供R ...
- Web3对于我们普通人意味着什么?
▲ 点击101链视界,关注不走丢 大家好,我是阿创,这是我的第27篇原创文章. 上一篇文章中我们了解了互联网的前世今生:Web 1.0.2.0.3.0,我们对Web的前两个阶段都不陌生,特别是 Web ...
- JVM学习三:JVM之垃圾收集器及GC参数
一.堆的回顾 新生代中的98%对象都是"朝生夕死"的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用E ...
- ELK 日志分析系统概述及部署
ELK 日志分析系统概述及部署 1.ELK概述: ELK简介 : ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch.Logstash 和 Kiabana 三个开源工具配合使用 ...
- Python--变量和简单数据类型
Python--变量和简单数据类型 目录 Python--变量和简单数据类型 一.Python脚本运行过程 二.变量 1. 变量的命名和使用 2. Python关键字和内置函数 2.1 Python关 ...