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

廊坊网站搭建生活家装饰

廊坊网站搭建,生活家装饰,本地网站做不大,建设视频网站需要什么知识1#xff0c;复杂类型 解决问题#xff1a;一些不容易获取到的数据#xff0c;例如数组类型#xff0c;集合类型等#xff0c;获取他们的数据 -- 1.创建表 create table tb_array_person(name string,city_array arraystring )row format delimited fields term…1复杂类型 解决问题一些不容易获取到的数据例如数组类型集合类型等获取他们的数据 -- 1.创建表 create table tb_array_person(name string,city_array arraystring )row format delimited fields terminated by \t collection items terminated by ,;-- 2.上传数据到hdfs对应的表下 -- 3.查询数据结果 select * from tb_array_person;1当设定了复杂数据类型的字段后需要给字段指定分隔符之外还需要指定其他分隔符 2注意当使用原生数据类型指定字段名类型无法满足需求时就可以考虑使用复杂数据类型。 1.1 SerDe机制 所谓SerDe就是单词Serializer、Deserializer的简称。而Serializer表示序列化Deserializer为反序列化。 1序列化是对象(或数据)转化为字节码的过程相当于加密 2反序列化是字节码转换为对象(或数据)的过程好比是解密 而上述问题中的[collection items terminated by “,”]就表示拥有了SerDe语法。可以通过命令查看 desc formatted 表名;2这个序列化类中一共包含4种子语法分别用于指定不同内容的分隔符号4种语法分别是 [row format delimited] [fields terminated by 指定分隔符] # 字段之间分隔符 [collection items terminated by 指定分隔符] # 集合/数组元素之间分隔符 [map keys terminated by 指定分隔符] # Map映射K-V之间分隔符 [lines terminated by 指定分隔符] # 行数据之间分隔符1一般情况下使用复杂类型时要设定collection、map分隔符 2fields字段、collection items集合/数组、map keys Map映射这几个使用较常见 1.2array数组 create [external] table 表名(字段名 字段类型 [comment 注释],字段名 字段类型 [comment 注释],...字段名 array类型 ) [row format delimited] [fields terminated by 指定分隔符] # 字段之间分隔符 [collection items terminated by 指定分隔符]; # 集合/数组元素之间分隔符array类型属于集合/数组设定分隔符用collection items。 1数组变量名[index] 以索引值形式访问数组的某元素。其中index表示索引值索引值从0开始计算。 2size(数组变量名) 获取数组变量的总长度或元素总个数。 3array_contains(数组变量名, value) 判断value值是否存在数组变量中。若存在则返回true否则返回false。 create table complex_array(name string,location_lists arraystring )row format delimited fields terminated by \t collection items terminated by ,;load data local inpath /root/day09_hive/array/01-data_for_array_type.txt into table complex_array;select * from complex_array; selectname,location_lists[0] from complex_array; selectname,size(location_lists) from complex_array;selectname,array_contains(location_lists,shenzhen) from complex_array;selectname,array_contains(location_lists,beijing) from complex_array;select* from complex_array where array_contains(location_lists,beijing); -- 做条件array类型 数组元素之间的分隔符collection items terminated by ‘分隔符’ 1.3struct集合 在Hive中以struct类型对结构字段之间设定分隔符的建表语句 create [external] table 表名(字段名 字段类型 [comment 注释],字段名 字段类型 [comment 注释],...字段名 struct子列名 类型, 子列名 类型, ... ) [row format delimited] [fields terminated by 指定分隔符] # 字段之间分隔符 [collection items terminated by 指定分隔符]; # 集合/数组元素之间分隔符struct值得形式是key:value的形式 create table complex_struct(id int,informations structname:string, age:int )row format delimited fields terminated by # collection items terminated by :;load data inpath /itheima/02-data_for_struct_type.txt into table complex_struct;select * from complex_struct;selectid,informations.name,informations.age from complex_struct;structname:string, age:int结构分隔符只需要COLLECTION ITEMS TERMINATED BY ‘分隔符’ 1.4map映射 在Hive中以map类型对映射字段之间设定分隔符的建表语句 create [external] table 表名(字段名 字段类型 [comment 注释],字段名 字段类型 [comment 注释],...字段名 mapkey类型, value类型 ) [row format delimited] [fields terminated by 指定分隔符] # 字段之间分隔符 [collection items terminated by 指定分隔符] # 集合/数组元素之间分隔符 [map keys terminated by 指定分隔符]; # Map映射K-V之间分隔符map类型属于Map映射设定分隔符用map keys。 1变量名[key] 以key键访问map映射的值。其中key表示指定类型的键。 2map_keys(变量名) 以数组形式返回Map变量的所有键。 3map_values(变量名) 以数组形式返回Map变量的所有值。 4array_contains(数组变量名, value) 判断value值是否存在数组变量中可作为where条件处理。若存在则返回true否则返回false create table complex_map(id int,name string,members mapstring, string,age int )row format delimited fields terminated by , collection items terminated by # map keys terminated by :;select * from complex_map;select*,members[father],members[mother] from complex_map;selectmap_keys(members) from complex_map;selectmap_values(members) from complex_map;select* from complex_map wherearray_contains(map_keys(members),brother);map类型的字段主要存储K-V键值对 操作mapkey类型, value类型时注意A不同键值对之间COLLECTION ITEMS TERMINATED BY ‘分隔符’ 分隔B一个键值对内使用MAP KEYS TERMINATED BY ‘分隔符’ 分隔K-V。 2.区别SQL的join查询 1全外连接 全外连接表示的是除了返回满足连接条件的记录外还会返回不满足连接条件的所有其它行记录可以说是左外连接和右外连接查询结果的总和。语法 select *|字段名, 字段名, ... from 左表 full outer join 右表 on 左右表关联条件; 通俗地说全外连接就是(左表有右表没有的null补全右表有左表没有的null补全)。 常用于合并显示所有数据内容。 2左半开连接 左半开连接LEFT SEMI JOIN会返回左边表的记录前提是其记录对于右边表满足 ON 语句中的判定条件。(可以理解成内连接后只取左表的数据)。 select 字段名 from A表名 别名 left semi join B表名 别名 on 条件 [where 查询条件];LEFT SEMI JOIN 比通常的 INNER JOIN 要更高效原因如下对于左表中一条指定的记录在右边表中一旦找到匹配的记录Hive 就会立即停止扫描。 select* from tb_users u full join tb_orders to on u.createTime to.createTime;select* from tb_users u left semi join tb_orders o on u.userido.userid;
http://www.pierceye.com/news/871923/

相关文章:

  • 成都制作网站的公司简介wordpress录入表单写数据库
  • 中山网站设计收费标准互联网保险发展现状和趋势
  • 公司网站发布流程简述企业网络建设的步骤
  • 哪些网站可以做问卷第1063章 自己做视频网站
  • 电子商务网站 费用做p2p网站
  • 网站建设 猴王网络厦门app开发网站开发公司电话
  • 做3d图的网站有哪些比wordpress更好的网站程序
  • 仿做网站可以整站下载器吧网络网站建设公司
  • 网站流量用完wordpress page 父页面
  • 旅游地网站制作有没有做网站的高手
  • 有什么网站可以做一起作业什么网站可以兼职做效果图
  • 工程中标查询网站长沙网站制作作
  • 免费网站下载直播软件企业品牌网站建设类型
  • 建立网站并以此为基础从事经营活动的企业称为什么免费销售网站模板
  • 成都市建设质监站网站微信企业网站html5模板
  • 福建工程建设管理中心网站仙桃做企业网站的
  • 孝感做网站的公司建网站是永久的吗
  • 厦门手机建站php网站开发推荐书籍
  • 属于c2c网站的有哪几个方庄网站制作
  • 建设局网站模板iis 网站没有上传权限
  • 建设网站龙华怎么用自己的电脑搭建网站
  • 分析网站的网站福建交科建设有限公司官方网站
  • 深圳南园网站建设网站域名怎么设置方法
  • 网站的内链是什么意思网页布局有哪几种方法
  • 网站优化公司上海山东电力建设河北分公司网站
  • 甘肃省住房和城乡建设部网站首页专门网页制作工具有
  • 网站用vps做dns做网站的叫什么职位
  • 网站开发业务流程图网站商城与网站区别吗
  • 用新浪微博做网站百度找不到 网站
  • 哪个网站做照片书最好seo投放是什么意思