- 博客(7)
- 收藏
- 关注
原创 Hive的优化
1.MapJoin sethive.auto.convert.join=true; hive.mapjoin.smalltable.filesize默认值是25mb 如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join。容易发生数据倾斜。可以用MapJoin把小表全部加载到内存在map端进行join,避免reducer处理。 2.采用分桶技术 分桶是对数据垂直切分,字段是实字段,适合易于垂直切分.
2020-08-10 11:14:21
249
原创 hive 中排序的区别
1)SortBy:分区内有序; 2)Order By:全局排序,只有一个Reducer; 3)Distrbute By:类似MR中Partition,进行分区,结合sort by使用。 4)Cluster By:当Distribute by和Sorts by字段相同时,可以使用Cluster by方式。Cluster by除了具有Distribute by的功能外还兼具Sort by的功能。但是排序只能是升序排序,不能指定排序规则为ASC或者DESC ...
2020-08-10 10:37:08
173
原创 Flume小结
1)Flume组成 Flume是由source、channel、sink组成。 开发中经常用到的组件: Taildir Source:断点续传、多目录。Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现断点续传。 File Channel:数据存储在磁盘,但是传输速率慢。适合对数据传输可靠性要求高的场景,比如,金融行业。 Memory Channel:数据存储在内存中,传输速率快。适合对数据传输可靠性要求不高的场景,比如,普通的日志数据。 Kafka Channel:减少了
2020-08-04 16:11:00
221
1
原创 hive的窗口函数的使用
0: jdbc:hive2://localhost:10000> select * from t_access; +----------------+---------------------------------+-----------------------+--------------+--+ | t_access.ip | t_access.url ...
2019-04-09 17:03:49
266
原创 hive的自定义函数的区别
HIVE自定义函数之UDF,UDAF和UDTF的区别: UDF 输入一行数据输出一行数据。java代码中用户必须要继承UDF,且必须至少实现一个evalute方法。 UDAF 输入多行数据输出一行数据,一般在group by中使用。java代码中Evaluator需要实现 init、iterate、terminatePartial、merge、terminate这几个函数init初始化,i...
2019-04-09 16:54:03
443
转载 hive的安装及使用
1.什么是hive 1.1.hive基本思想 Hive是基于Hadoop的一个数据仓库工具(离线),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 1.2.为什么使用Hive Ø直接使用hadoop所面临的问题 人员学习成本太高 项目周期要求太短 MapReduce实现复杂查询逻辑开发难度太大 Ø为什么要使用Hive 操作接口采用类S...
2019-04-09 16:50:34
556
原创 hive 多个方面的优化
一、hive表优化 分区: 静态分区 动态分区 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; 分桶: set hive.enforce.bucketing=true; set hive.enforce.sorting=true; 二、hive sql...
2019-04-09 16:44:50
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅