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

直播软件下载网站商标设计logo免费软件

直播软件下载网站,商标设计logo免费软件,怎么做企业网站二维码,威海网站建设在哪Hive的数据结构 前言一、array数组类型二、map键值对集合类型三、struct结构体类型 前言 Hive是一个基于Hadoop的数据仓库基础设施#xff0c;用于处理大规模分布式数据集。它提供了一个类似于SQL的查询语言#xff08;称为HiveQL#xff09;#xff0c;允许用户以类似于关… Hive的数据结构 前言一、array数组类型二、map键值对集合类型三、struct结构体类型 前言 Hive是一个基于Hadoop的数据仓库基础设施用于处理大规模分布式数据集。它提供了一个类似于SQL的查询语言称为HiveQL允许用户以类似于关系型数据库的方式查询和分析存储在Hadoop集群中的数据。 Hive常作为离线数仓的分析工具当面临Json数据时Hive需要用到其数据结构构建出一张Json表才得以操作Json数据(Hive4.0推出了Json解析) 一、array数组类型 数组是一组具有相同类型的变量的集合。 这些变量称为数组的元素每个数组元素都有一个编号编号从零开始。 数组类型的创建: drop table if exists test_datatype; create external table test_datatype(ids arrayint, ) comment 数据结构测试表 location test/test_datatype;创建表字段时使用Array类型需要声明其泛型如果在后续的操作中向该表字段插入了一个包含string类型的arrayHive 在数据加载过程中会根据目标表的声明进行数据类型推断和转换。如果插入的数组元素与目标表声明的数据类型不匹配Hive 会尝试进行隐式类型转换。在这种情况下Hive 会尝试将字符串转换为整数类型。 Tip:隐式类型转换可能导致数据丢失或错误。如果类型转换失败Hive 可能会将其转换为 NULL 值。 以下构建一个简单的array数组对象: 查询语句 selectids,array(ids[0],ids[6]),array_contains(ids,milet) from (select array(aimyon,aimer,vaundy,Ado,1,3.6) as ids)t1执行结果 ids[aimyon,aimer,vaundy,Ado,1,3.6] array(ids[0],ids[5])[aimyon,null] array_contains(ids,milet) falseArray 类型可以存储具有相同数据类型的元素。这意味着数组中的每个元素都应该是相同的数据类型。上述的Hql中使用了string和int类型但是查询结果显示的都是string类型。Array类型通过下标取出元素如果下标越界取出的元素为nullarray_contains()能够检索数组是否包含该元素该函数返回布尔类型。 二、map键值对集合类型 Map 类型是一种键值对的集合其中的键和值可以是任何 Hive 支持的数据类型。Map 类型用于表示一种关联关系类似于其他编程语言中的字典或哈希表。 Map类型的创建: drop table if exists test_datatype; create external table test_datatype(dat mapstring,string ) comment 数据结构测试表 location test/test_datatype;创建Map类型时需要声明其键值对泛型,Map 类型的语法为 MAPkey_type, value_type其中 key_type 和 value_type 分别表示键和值的数据类型。 以下构建一个简单的map对象: 查询语句 selectdat,dat[a],map_keys(dat),if(array_contains(map_keys(dat),a),true,false) from (select map(a,b,1,d) dat)t;执行结果 dat{a:b,1:d} dat[a]b map_keys(dat)[a,1] if(array_contains(map_keys(dat),a),true,false)truemap类型使用map[‘key_name’]的方式取出值并且hive提供了map_keys,map_values获取所用的key和value这在一些判断场景下非常好使。 Tip:map的key的类型可以不统一但是value类型必须统一。 三、struct结构体类型 在 Hive 中结构体Struct类型是一种用于组合多个字段的复合数据类型。结构体类型允许你在一个列中存储多个相关的值并将它们作为一个单元进行处理。 结构体类型由多个字段组成每个字段都有一个名称和一个数据类型。你可以将结构体类型用作表的列类型或者作为其他复合数据类型如数组或映射的元素类型。 struct类型的创建: drop table if exists test_datatype; create external table test_datatype(obj structid:int,name:string ) comment 数据结构测试表 location test/test_datatype;创建struct结构体时需要声明所有使用到的类型结构体创建之后其属性不能再做更改。 以下构建一个简单的struct对象: 查询语句 select struct(a,b,c,d) {col1:a,col2:b,col3:c} select name_struct(a,b,c,1) {a:b,c:1}select obj,obj.a from (select named_struct(a, b, c, 1) obj) t1; 执行结果 obj {a:b,c:1} obj.a b结构体通过点的方式访问元素结构体与map不同一旦创建属性个数就不能更改。结构体定义后其类型不能做更改 name:stringage:int map类型定义后其每个元素的值类型就需要确定了map string:stiring 总结: 遇到Json属性为 {key1:value1key2:value2 …} value类型都统一的并且个数不确定的可以使用map类型。value类型不统一并且个数确定的可以使用struct类型。 遇到类似数组的json数据: actions: [{ -- 动作(事件)action_id: favor_add, -- 动作iditem: 3, -- 目标iditem_type: sku_id, -- 目标类型ts: 1585744376605 -- 动作时间戳}数据结构可以嵌套使用:array struct key1:string,key2:int 上述json中actions为数组元素个数不确定并且元素都能够用struct array泛型 mapstring:string structname:string,age:int 具体问题具体分析根据数据情况选择合适的数据结构。
http://www.dnsts.com.cn/news/215661.html

相关文章:

  • 垂直电商网站有哪些成都自助建站软件
  • 温州建设工程网站网页在线代理
  • 网站开发客户的思路总结网站用户粘度
  • 网站建设业务好做吗网站建设中 切片指什么
  • 学校网站建设方案模板个人可以做彩票网站吗
  • 备案号 查询 网站网站数据统计怎么做
  • 手机网站 php西宁服务
  • 宝安品牌网站制作晋江规划建设局网站
  • 10大设计师网站长尾关键词挖掘网站
  • 旅游最好的网站建设有哪些html5制作的网站
  • 做网站的哪个好网上服装商城网站建设方案策划
  • 烟台建设集团 招聘信息网站网站开发与应用论文百度文库
  • 做网页课件的网站wordpress可以做淘宝客
  • 做网站具体流程步骤企业查名
  • 中国建设银行手机银行下载官方网站东西湖区网站建设公司
  • 安防网站建设优点广州网站建设 骏域网站建设专家
  • 杭州网站建设出名网站建设 管理系统开发
  • 网站开发工资高吗宁波网站建设营销定制
  • 建站公司 长沙和西安免费的网页设计代码模板
  • 昌吉网站建设电话杭州哪家做外贸网站好
  • 城市建设法规考试网站温州网站制作的公司
  • 枣庄公司做网站深圳市保障房申请网站
  • 如何做色流量网站iis7.0建设网站
  • 有哪些小公司网站wordpress php7 mysql
  • 门户网站 建设商 排名网站反链有好处吗
  • 南京 网站设计wordpress 插件网
  • dw制作网站phpmysql网站开发视频
  • 山东建站商城这样建立自己的网站
  • phpcms网站网站后台怎么做超链接
  • 网站开发方案及报价河南濮阳建设局网站