json_tuple,get_json_object提取日志埋点信息
现数据库有一张日志表,有个字段存放的json字符串,需要获取orders数组里的is_store_delivery,delivery_warehouse字段
以下是该字段的json数据
{"returnCode":"0","result":{"total":2,"orders":[{"buyer_province":"广东省","transport_time":"","buyer_country_id":"CN","remark":"","transport_no":"05365368605","merged_sn":"","order_status":"23","delivery_kpi_start_time":"2021-09-06 22:31","buyer_mobile":"138****3907","order_goods":[{"vendor_code":"10**06","quantity":1,"size":"均码","price":"147.00","vendor_id":22,"brand_name":"XXXXX","sn":"KYT**-15AW","cooperation_no":"300921","barcode":"6939426","product_name":"迷你电风扇台扇","promotion_price":"","po_no":"21030877"}],"pay_type":"移动微信wap支付","package_received_time":"2021-09-07","transport_day":"送货时间不限","parent_order_sn":"","cod_type":"0","is_forbidden_delivery":0,"is_pre_transport_no":"0","carrier_name":"速运","order_type":1,"buyer_county":"海珠区","cod_money":"0.00","delivery_warehouse":"SPD589","buyer_address":"广东省.广州市.海珠区","buyer_postcode":"5120","vendor_name":"深圳市有限公司","buyer_city":"广州市","buyer":"杨***","merged_code":"","last_update_time":"2021-09-08 10:10:02.0","buyer_tel":"","is_store_delivery":0,"vendor_id":22,"add_time":"2021-09-06 21:58:59.0","order_sn":"21092226","carrier_code":"shunfeng"},{"buyer_province":"广东省","transport_time":"","buyer_country_id":"CN","remark":"","transport_no":"05378847236","merged_sn":"","order_status":"23","delivery_kpi_start_time":"2021-09-07","buyer_mobile":"137****6112","order_goods":[{"vendor_code":"1006","quantity":1,"size":"均码","price":"188.00","vendor_id":22,"brand_name":"XXXXXXXXX","sn":"FSYF","cooperation_no":"3001","barcode":"6934680","product_name":"低噪摇头风扇落地扇","promotion_price":"","po_no":"2103077"}],"pay_type":"微信支付app","package_received_time":"2021-09-07","transport_day":"送货时间不限","parent_order_sn":"","cod_type":"0","is_forbidden_delivery":0,"is_pre_transport_no":"0","carrier_name":"顺丰速运","order_type":1,"buyer_county":"端州区","cod_money":"0.00","delivery_warehouse":"SPD09","buyer_address":"广东省.肇庆市.端州区","buyer_postcode":"520","vendor_name":"深圳市有限公司","buyer_city":"肇庆市","buyer":"黄*","merged_code":"","last_update_time":"2021-09-08","buyer_tel":"","is_store_delivery":0,"vendor_id":22,"add_time":"2021-09-07 12:48:28.0","order_sn":"21083502","carrier_code":"shunfeng"}]}}
对应SQL,获取数组里的值并将其转换为列(行转列)
select distinctdelivery_warehouse,is_store_delivery,vendor_id
from(SELECT split(regexp_replace(regexp_extract(t.json_column, '^\\[(.+)\\]$',1),'\\}\\,\\{', '\\}\\|\\|\\{'),'\\|\\|') AS json_columnFROM -- 将response替换为上述字符串即可运行(select get_json_object('上述json字符串', '$.result.orders') as json_column ) t
) a
lateral view explode(json_column) b as j_column
LATERAL VIEW json_tuple(j_column, 'delivery_warehouse', 'is_store_delivery', 'vendor_id') d AS delivery_warehouse, is_store_delivery, vendor_id
运行效果图:
获取json数据的思路:
-- (1)json_tuple()获取json脚本 里面json节点orders
-- (2)1)regexp_extract()去掉中括号[]
-- 2)regexp_extract()用双竖线替换 },{
-- 3)split()根据双竖线分割数组为多个小的json
-- (3)json_tuple()获取json下vendor_id等节点值
附加一个presto的写法:
select distinct vendor_id,x.delivery_warehouse,x.is_store_delivery
from hive.xxx
cross join unnest(cast(json_extract("json字符串", '$.result.orders') as array(row(delivery_warehouse VARCHAR,is_store_delivery INTEGER )))) as x
json_tuple,get_json_object提取日志埋点信息相关推荐
- oracle 提取当天日志,powershell提取日志内容
写了一个powershell提取日志内容的脚本,搜索oracle关于ORA的报错信息 #查找结果赋值 $d=Get-ChildItem c:\test -Recurse | where{" ...
- Elasticsearch:使用 Filebeat 从 Node.js Web 应用程序提取日志
本指南演示了如何从 Node.js Web 应用程序中提取日志并将它们安全地传送到 Elasticsearch Service 部署中. 你将设置 Filebeat 来监控具有标准 Elastic C ...
- 使用Palette类提取图片的颜色信息
原文出处:http://qichaochen.github.io/2014/11/16/105-Android-5.0-Palette-01/ 在Material Design设计中很重要的一部分内容 ...
- 使用DETR指令提取电子客票票面信息
使用DETR指令提取电子客票票面信息: DETR:TN/票号 DETR:TN/9992401111111 DETR:NM/姓名 DETR:NM/张三 DETR:CN/ICS订座记录编 ...
- javascript提取标签之间的信息
下面的代码提取标签之间的信息,可以应付一般的任务 var pt = function (s) {document.writeln("<br>" + s);};var m ...
- 运用awk提取日志文件中的IP地址
在我们的日常工作中,可能会遇到各种不同的问题,有来自内部,有的来自外部. 以Nginx服务为例,服务上线之后可能会遭受非法的流量攻击,我们在配置Nginx服务时可以通过Nginx.conf配置文件中的 ...
- Hbase启动失败,查询日志后报错信息是master.HMasterCommandLine Master exiting
Hbase启动失败,查询日志后报错信息是master.HMasterCommandLine: Master exiting 首先要设置时区 sudo tzconfig,如果命令不存在请使用 dpkg- ...
- 基于ESO的永磁同步电机无感FOC 采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息
基于ESO的永磁同步电机无感FOC 1.采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息,从而实现无位置传感器控制: 2.提供算法对应的参考文献和仿真模型. 购 ...
- “日志事件详细信息”(Log Event Details) 页面
"日志事件详细信息"(Log Event Details) 页面提供其他追踪信息. 从 " 持续的日志事件 "(Persisted Log Events) 页面 ...
最新文章
- tar -cvPf new.tar `rpm -ql vsftpd` 建议不要用绝对路径'/'
- 【Java】数据结构之 顺序表(MyArrayList)
- python画图颜色-python中matplotlib的颜色及线条控制的示例
- Fedora 32发布时间表(Fedora 32 Schedule)
- python有大括号吗_只有我一个人觉得Python取消了大括号而显得结构更加混乱了吗?...
- vuex从安装到使用的教程
- python中八皇后如何运算的_python解决八皇后算法
- JVM 自定义的类加载器的实现和使用
- 20170721L08-02-02老男孩Linux运维实战培训初级第八节课课前【上机实战】考试讲解...
- 95-36-210-ChannelHandler-系统Channel-TimeoutHandler1
- SQL Server调优系列进阶篇(查询优化器的运行方式)
- 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
- 视频教程-C#多层架构项目实战房屋中介管理系统-C#
- 【操作系统原理-2014年清华陈渝老师】索引
- [004]Python数据类型二_python_全栈基础
- 记录一次rt-thread studio与CubeMx配合构建PWM工程
- QS发布2021年世界大学排名!你报考的大学排第几?
- antd走马灯切换到相应图片
- linux rsync排除目录,如何从rsync中排除文件夹
- Atom编辑器:基本使用