传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。


播妞本次分享的是云计算大数据Hive教程,感兴趣的同学切勿错过~

本教程课堂重点:

1、hive 建立一张表 跟已经存在的结构化的数据文件产生映射关系
映射成功之后,就可以通过写sql来分析这结构化的数据  避免了写mr程序的麻烦
        
2、数据库  ---》  /user/hive/warehouse 下的一个文件夹对应
表      ---》  数据库文件夹下面的子文件夹   /user/hive/warehouse/itcast.db/t_t1
表的数据位置目前不能随便存放  一定要在指定的数据库表的文件夹下面
建立表的时候 可能还需要指定分隔符 否则有可能映射不成功
   
3、建表的时候一定要根据结构化数据文件的分隔符类型  指定分隔符
建表的字段个数和字段类型 要跟结构化数据中的个数类型一致
分隔符一般使用内置的来指定  ROW FORMAT DELIMITED   分割字段  还是分割集合 等等
   
4、分区表字段不能够在表中已经存在
分区字段是一个虚拟的字段  不存放任何数据
分区字段的数据来自于装载分区表数据的时候指定的
分区表的字段  在hdfs上的效果就是在 建立表的文件夹下面又创建了子文件
这样的目的把数据的划分更加细致  减少了查询时候全表扫描的成本 只需要按照指定的分区扫描数据并显示结果即可
   
5、分桶表 创建之前 需要开启分桶功能
分桶表(分簇表)创建的时候 分桶字段必须是表中已经存储(存在)的字段
也就是说你要按照表中那个字段进行分开
针对分桶表的数据导入:load data方式不能够导成分桶表的数据  没有分桶效果
原因在于load  本质上相当于  hive 去帮我们执行 hadoop fs -put
        
分桶表的数据 采用 insert+select 插入的数据来自于查询结果(查询时候执行了mr程序)
对应mr当中的partitioner
默认分桶规则 按照你指定的分桶字段clustered by哈希值 & 分桶的个数 set mapreduce.job.reduces=?
        
分桶表也是把表所映射的结构话数据文件分成更细致的部分  但是更多的是用在join查询提高效率之上
只需要把jion的字段在各自表当中进行分桶操作即可




网盘资料:
未标题-1.jpg

资料下载(网盘链接已添加回帖可见)

游客,如果您要查看本帖隐藏内容请回复

点评

不错不错,顶顶顶  发表于 2018-6-1 00:12

评分

参与人数 2黑马币 +8 收起 理由
深蓝岚 + 5 赞一个!
苏暖辉 + 3 赞一个!

查看全部评分

分享至 : QQ空间
收藏

80 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
66666666666666666
回复 使用道具 举报
牛鼻66666666666666666666666
回复 使用道具 举报
不错不错不错
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
666666666666666666666
回复 使用道具 举报
感谢分享
回复 使用道具 举报
赞一个,希望学习完成后有新的收获
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
谢谢分享,好好学习下
回复 使用道具 举报
方法方法付付付付付付付付付付付付付付
回复 使用道具 举报
还可以哦
回复 使用道具 举报
666666666666666666666666666666666666666666666
回复 使用道具 举报
学习一下
回复 使用道具 举报
Yang656520 来自手机 初级黑马 2018-6-7 22:30:49
18#
已收藏,谢谢啦!
回复 使用道具 举报

谢谢分享
回复 使用道具 举报
学习一下!~
回复 使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 加入黑马
关闭

站长推荐 上一条 /5 下一条