当前位置: 首页 > news >正文

自己做购物网站wordpress电子书

自己做购物网站,wordpress电子书,app开发外包服务,免费的网站认证文章目录 通过方法解析现实示例 通过序列化实现示例 通过方法解析现实 在 Hive 中提供了直接解析 JSON 字符串数据的方法 get_json_object(json_txt, path)#xff0c;该方法参数解析如下#xff1a; json_txt#xff1a;顾名思义#xff0c;就是 JSON 字符串#xff1b;… 文章目录 通过方法解析现实示例 通过序列化实现示例 通过方法解析现实 在 Hive 中提供了直接解析 JSON 字符串数据的方法 get_json_object(json_txt, path)该方法参数解析如下 json_txt顾名思义就是 JSON 字符串 path指的是匹配 JSON 字符串的格式通过固定的语法获取 JSON 字符串中的内容。 常用的 path 参数匹配符号有四个分别是 $表示获取整个 JSON 文件的根 .表示获取子元素 []表示获取列表 *表示获取列表中的元素。 示例 当前有一条 Maxwell 采集的 JSON 字符串数据如下所示 {database:maxwell,table:bootstrap,type:insert,ts:1683629964,xid:395746,commit:true,data:{id:8,database_name:school,table_name:test2,where_clause:null,is_complete:0,inserted_rows:0,total_rows:0,created_at:null,started_at:null,completed_at:null,binlog_file:null,binlog_position:0,client_id:maxwell,comment:null}}下面在 Hive 中对其进行解析为了方便解析先将其存储到测试表中 drop table if exists json_test; create table json_test(json_txt string); insert into json_test values({database:maxwell,table:bootstrap,type:insert,ts:1683629964,xid:395746,commit:true,data:{id:8,database_name:school,table_name:test2,where_clause:null,is_complete:0,inserted_rows:0,total_rows:0,created_at:null,started_at:null,completed_at:null,binlog_file:null,binlog_position:0,client_id:maxwell,comment:null}});-- 下面开始解析 JSON 字符串 select-- 先获取根然后再获取子元素get_json_object(json_txt,$.database) database,get_json_object(json_txt,$.table) table,get_json_object(json_txt,$.type) type,get_json_object(json_txt,$.ts) ts,get_json_object(json_txt,$.xid) xid,-- 获取多级关系的内容就嵌套使用get_json_object(json_txt,$.data.id) id,get_json_object(json_txt,$.data.database_name) database_name,get_json_object(json_txt,$.data.table_name) table_name fromjson_test;查询结果如下 通过序列化实现 在 Hive 3.0.0 及以上版本中在低版本中需要通过添加 Jar 包实现内置了序列化 JSON 内容数据的包 JsonSerDe在建表时指定序列化的格式使用过程中就可以直接获取到 JSON 文件中的内容无需进行手动解析操作。 在 hive-site.xml 文件中指定 Hive 表的序列化与反序列化器 SerDe propertynamemetastore.storage.schema.reader.impl/namevalueorg.apache.hadoop.hive.metastore.SerDeStorageSchemaReader/value /property添加完成后重启 Hive 服务例如元数据库 metastore 或者 hiveserver2 远程连接。 示例 我们先进入 HDFS 上创建一个 JSON 目录文件存储一条 JSON 数据用于测试 {database:maxwell,table:bootstrap,type:insert,ts:1683629964,xid:395746,commit:true,data:{id:8,database_name:school,table_name:test2,where_clause:null,is_complete:0,inserted_rows:0,total_rows:0,created_at:null,started_at:null,completed_at:null,binlog_file:null,binlog_position:0,client_id:maxwell,comment:null}}注意文件中存储的 JSON 串必须是一行一条不能手动跨越多行不能格式化后存储否则会引起 SerDe 解析异常 java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.ByteArrayInputStream73c91482; line: 1, column: 0])这里在 HDFS 上创建了目录 /json_dir其中存储了 JSON 文件 json_file.txt。 下面在 Hive 中创建表并对其进行解析 drop table if exists json_test; -- 其中定义的字段名对应 JSON 文件中的 KEY -- 如果存在嵌套 JSON 子串则需要使用结构体来进行定义 create table json_test(database string,table string,type string,ts string,xid bigint,commit string,data structid:bigint,database_name:string,table_name:string) row format serde org.apache.hadoop.hive.serde2.JsonSerDe stored as textfile location /json_dir; -- 指定 JSON 文件的存储目录查询字段内容 select * from json_test;如果想要获取嵌套 JSON 子串中的内容也很简单如下所示 selectdata.id,data.database_name,data.table_name from json_test;序列化与反序列解析 JSON 文件实战用的更多更加方便快捷。
http://www.zqtcl.cn/news/964228/

相关文章:

  • 第一免费营销型网站一起做网店17
  • 高端学校网站建设做网站是怎么赚钱的
  • 哪里可以找人做网站在服务器上中的asp网站后台能输入帐号无法进入
  • 怎么网站关键词语有哪些
  • 网站建设 维护费用环球易购招聘网站建设
  • 怎么做网站官方电话手机应用开发平台
  • 济南企业免费建站剪辑视频怎么学
  • 手表网站免费设计上海做网站制作
  • 深圳网站seo优化课程设计做淘宝网站的目的
  • 机械网站建设中心莱芜论坛莱芜都市网
  • 58同城类似的网站怎么做seo做的比较好的公司
  • 厦门网站建设培训学校网站程序定制开发流程
  • 宣传旅游网站建设的观点是什么资阳网站建设方案
  • ui设计与网站建设怎么建设一个手机网站
  • 网站建设加推广优化网站移动端开发公司
  • 猪八戒网站开发电子商务公司取名字参考大全
  • 酒泉手机网站建设大连网站如何制作
  • 做网站点子免费做简历的软件网站
  • 刘涛做代言的那个网站设计与制作
  • 专业网站建站星辰wordpress主题
  • 淄博个人网站建设天津网站制作机玩法部
  • 帮人做图挣外快的网站seo优化教学视频
  • 做房产中介需要有内部网站吗烟台开发区网站建设
  • 网站资质优化网站备案密码使用
  • 廊坊营销网站团队网站推广报告
  • 商品网站模板多语言企业网站模板
  • 佛山网页制作设计东莞seo推广机构帖子
  • 公司网站开发费用如何入账网站开发与设计实训总结两千字
  • 生物网站模板在线crm厂商
  • 在线制作动画网站ps切图做网站