大讲台谈Hive(后篇二).docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大讲台谈Hive(后篇二)

大讲台谈Hive(后篇二) 大讲台谈hive(后篇二) 桶操作 Hive 中 table 可以拆分成 Partition table 和 桶(BUCKET),桶操作是通过 Partition 的 CLUSTERED BY 实现的,BUCKET 中的数据可以通过 SORT BY 排序。 BUCKET 主要作用如下。 1)数据 sampling; 2)提升某些查询操作效率,例如 Map-Side Join。 需要特别主要的是,CLUSTERED BY 和 SORT BY 不会影响数据的导入,这意味着,用户必须自己负责数据的导入,包括数据额分桶和排序。 #39;set hive.enforce.bucketing=true#39; 可以自动控制上一轮 Reduce 的数量从而适配 BUCKET 的个数,当然,用户也可以自主设置 mapred.reduce.tasks 去适配 BUCKET 个数,推荐使用: 1. hivegt; set hive.enforce.bucketing=true; 操作示例如下。 1) 创建临时表 student_tmp,并导入数据。 1. hivegt; desc student_tmp; 2. hivegt; select * from student_tmp; 2) 创建 student 表。 1. 2. 3. 4. hivegt; create table student(id int,age int,name string) partitioned by (stat_date string) clustered by (id) sorted by(age) into 2 bucket row format delimited fields terminated by #39;,#39;; 3) 设置环境变量。 1. hivegt; set hive.enforce.bucketing=true; 4) 插入数据。 1. 2. hivegt; from student_tmp insert overwrite table student partition(stat_date=#39;2015-01-19#39;) 3. age; 5) 查看文件目录。 1. $ hadoop fs -ls select id,age,name where stat_date=#39;2015-01-18#39; sort by /usr/hive/warehouse/student/stat_date=2015-01-19/ 6) 查看 sampling 数据。 1. 2 on id); hivegt; select * from student tablesample(bucket 1 out of tablesample 是抽样语句,语法如下。 1. tablesample(bucket x out of y) y 必须是 table 中 BUCKET 总数的倍数或者因子。 Hive 复合类型 hive提供了复合数据类型: 1)Structs: structs内部的数据可以通过DOT(.)来存取。例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a。 2)Map(K-V对):访问指定域可以通过[指定域名称]进行。例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M[#39;group#39;]来获取。 3)Array:array中的数据为相同类型。例如,假如array A中元素[#39;a#39;,#39;b#39;,#39;c#39;],则A[1]的值为#39;b#39; 1、Struct使用 1) 建表 1. hivegt; create table student_test(id INT, info structlt; name:STRING, age:INTgt;) 2. 3. gt; ROW FORMAT DELIMITED FIELDS TERMINATED BY #39;,#39; gt; COLLECTION ITEMS TERMINATED BY #39;:#39;; #39;FIELDS TERMINATED BY#39; :字

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档