- 浏览: 2609412 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (880)
- 每日总结 (26)
- java (37)
- lucene 2.4源码学习 (11)
- 庖丁分词的源码分析 (5)
- cindy源码阅读 (10)
- jetty (3)
- java基础 (49)
- hadoop (37)
- python (7)
- 那些蛋疼的事 (15)
- 测试 (5)
- spring (3)
- redis (4)
- git (4)
- 我的开源项目 (2)
- linux (15)
- mysql (8)
- bootsharp (1)
- idea (1)
- Disruptor源码分析 (11)
- 高并发 (22)
- jdk (4)
- 领域驱动 (1)
- 坑 (6)
- 表达式框架 (7)
- 游戏 (3)
- Guava (1)
- 缓存 (1)
- 数据库 (1)
- 游戏项目 (3)
- java8 (1)
最新评论
-
hsluoyz:
PyCasbin是一个用Python语言打造的轻量级开源访问控 ...
权限管理的一个简单后台 -
liuyachao111:
谢谢 问题解决了
对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾 -
jnjeC:
多谢博主分享,在配置文件里的&也要改成& ...
对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾 -
大维啊:
同志,你这不行啊!
java 的 AccessController.doPrivileged使用 -
lisha2009:
解决了我的问题,多谢博主分享!
对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
使用muti group by之前:
使用后:
从我的这个使用场景来看,使用前后的运行时间是差不多的.
echo "订购 下载 试听 搜索 pv uv :============================================= " hive -e "use platform; select ${group},sum(buy),sum(down),sum(listen),sum(search),sum(pv),count(distinct IMSI) from( select ${group},IMSI, case when action=1 then 1 else 0 end as buy, case when action=2 then 1 else 0 end as down, case when action=3 then 1 else 0 end as listen, case when action=4 then 1 else 0 end as search, case when (${pvcase}) then 1 else 0 end as pv from T_FeedbackAccessday2 where ${case} )middle group by ${group};" | grep "2013-" >tmp.data echo "流量:============================================= " hive -e "use platform; select day,porttype,subporttype,'flow',sum(abs(yidong)), sum(abs(notyidong)) from( select day,porttype,subporttype, case when (UCASE(network) in('CTWAP','CTNET') and abs(FluxByte)<10485760) then FluxByte else cast(0 as bigint) end as yidong, case when (UCASE(network) not in('CTWAP','CTNET') and abs(FluxByte)<10485760) then FluxByte else cast(0 as bigint) end as notyidong from T_FeedbackAccessday2 where ${case} and (PortType !=5 OR subporttype!=4) OR (PortType =5 and subporttype =4 and ActionModule= 'actionFeedback')) middle group by day,porttype,subporttype" | grep "2013-" >flow.data
使用后:
hive -e "use platform; from T_FeedbackAccessday2 INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='buy') select porttype,subporttype,comefrom,'',sum(case when action=1 then 1 else 0 end) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='down') select porttype,subporttype,comefrom,'',sum(case when action=2 then 1 else 0 end) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='listen') select porttype,subporttype,comefrom,'',sum(case when action=3 then 1 else 0 end) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='search') select porttype,subporttype,comefrom,'',sum(case when action=4 then 1 else 0 end) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='uv') select porttype,subporttype,comefrom,'',count(distinct IMSI) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='pv') select porttype,subporttype,comefrom,'',sum(${pvcase}) as buy where ${case} group by ${group} INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='yidong') select porttype,subporttype,'','',sum(${yidongcase}) as buy where ${case} group by porttype,subporttype INSERT OVERWRITE TABLE result2 PARTITION(day='${day}',category='notyidong') select porttype,subporttype,'','',sum(${notyidongcase}) as buy where ${case} group by porttype,subporttype;"
从我的这个使用场景来看,使用前后的运行时间是差不多的.
发表评论
-
hadoop的stream
2013-09-13 19:30 1203如统计一个文件有多少行(/user/hive/warehous ... -
hadoop的archive(打包压缩)
2013-09-13 19:25 1548如: hadoop archive -archiveName ... -
hadoop的一些监控
2013-09-13 14:51 977... -
hive报错Too many counters的解决
2013-09-09 16:18 4949解决办法 在执行hql的机器上修改mapred-site.x ... -
转发 Mongodb 和 Hbase的区别
2013-09-05 14:43 1228原始网址:http://hi.baidu.co ... -
hive警告解决 WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated.
2013-08-28 10:17 1886--修改参数 vi hive-log4j.propertie ... -
解决hbase的启动不起来 Master is initializing
2013-08-24 12:38 4072现象:hbase启动不起来,报错显示Master is ini ... -
hadoop的rsync是个好东西
2013-08-23 16:02 2683如可以这样用 rsync -v hive-site.xm ... -
hive TempStatsStore cannot be created
2013-08-23 10:00 1812<property> <na ... -
hadoop hive中metastore报错的解决
2013-08-10 16:42 2171报的错: Unable to instantiate or ... -
hive的Recover partitions是个好东西
2013-08-08 10:11 2091之前从hadoop复制数据到hive之后,每次都要add pa ... -
hive的一个报错 Not In Group By Key
2013-08-05 19:08 11406这个报错的原因是:select的字段没有出现在group by ... -
hive用正则表达式的方式使用多字节切割符号
2013-08-02 14:57 5887hive默认是不支持多字节切割符号的. 我采用了正则表达式的方 ... -
安装使用flume
2013-07-18 12:20 16191 首先去官网下载 http://flume.apache.o ... -
kerberos不能导出证书的解决
2013-07-06 15:40 2974执行命令 ktadd -k /etc/hadoop/conf/ ... -
protobuf 安装中问题的解决
2013-07-06 10:04 17641解决办法: 把自带的gtest 1.4 换成1.5 安装的版 ... -
kerberos不能续约一个证书
2013-07-02 11:59 3390kinit -R 的时候,报错: kinit: Tick ... -
jps命令Could not synchronize with target
2013-06-28 09:32 2838网上有人说离开安全模式就可以解决这个,但是我尝试是没有成功的: ... -
安装kerberos的坑
2013-06-27 17:57 5078执行kinit的时候老是报错: kinit: Client ... -
hadoop权限设置
2013-06-19 18:12 1574(1) 在core-site.xmll中配置以下属性: < ...
相关推荐
set hive.groupby.mapaggr.checkinterval = 100000000; //在 Map 端进行聚合操作的条目数目 set hive.groupby.skewindata = true; //解决数据倾斜的万能钥匙 当map阶段运行不了的时候,可以设置 set hive.map.aggr ...
3. 调整 Hive 的 group by 操作的键对应的记录条数,设置 set hive.groupby.mapaggr.checkinterval=100000; Hadoop HDFS 参数调优 1. 调整 HDFS 的存储格式,例如使用 SequenceFile格式; 2. 调整 HDFS 的压缩格式...
二、Distribute by 五、Cluster by 六、如何使用sort by实现全局排序
hive的group by 和集合函数 hive的Order By/Sort By/Distribute By Join查询,join只支持等值连接 LEFT,RIGHT 和 FULL OUTER JOIN LEFT SEMI JOIN Hive当前没有实现 IN/EXISTS 子查询,可以用 LEFT SEMI JOIN 重写子...
在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...
9. hive.groupby.skewindata 该参数决定了group by操作是否支持倾斜的数据。如果设置为true,则Hive将支持倾斜的数据,默认值为false。 10. hive.merge.mapfiles 该参数决定了是否开启合并Map端小文件,对于...
"HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...
* 决定Group By操作是否支持倾斜的数据:set hive.groupby.skewindata=true; 2. Join 数据倾斜 Join操作也容易导致数据倾斜问题。解决方法是: * 设置reduce处理的数据量:set hive.exec.reducers.bytes.per....
针对`GROUP BY`和`JOIN`操作,可以通过`hive.groupby.skewindata`、`hive.optimize.skewjoin`等参数调整,使数据均匀分布。对于大小表JOIN,可调整`hive.mapjoin.smalltable.filesize`等相关参数。 3. **避免全局...
3.1 Group By 28 3.2 Order /Sort By 28 4. Hive Join 29 5. HIVE参数设置 31 6. HIVE UDF 33 6.1 基本函数 33 6.1.1 关系操作符 33 6.1.2 代数操作符 34 6.1.3 逻辑操作符 35 6.1.4 复杂类型操作符 35 6.1.5 内建...
窗口函数可以实现动态的分组统计,即在不同的分区或窗口范围内进行统计计算,而无需显式地使用GROUP BY语句。 ##### 3. Top N 通过窗口函数,可以轻松地找出每个分区内的Top N记录,例如找出每个月销售额最高的前几...
- **Group By的实现原理**:在Map阶段,Hive会将Group By字段组合成key,发送到相应的Reduce任务。Reduce阶段利用排序功能,保存最后一个键值,以处理每个分组的数据。 - **Distinct的实现原理**:对于单个...
Hive 查询会转化为 MapReduce 作业执行,包括 JOIN、GROUP BY、DISTINCT 等操作。 5. 使用 Hive 注意事项 涵盖字符集、压缩、COUNT(DISTINCT)、JOIN、DML 操作、HAVING、子查询、JOIN 中的 NULL 处理、分号字符等...
利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件+代码+讲义+工具软件),具体内容包括: ...15_Hive中的数据倾斜及解决方案-group by 16_Hive中使用正则加载数据 17_Hive中使用Python脚本进行预处理
它支持SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY、HAVING等复杂查询。 4. **编译与执行计划**:Hive将HQL语句转换为MapReduce任务,或者在更现代的Hadoop版本中,转换为Tez或Spark任务。这...
Hive支持大部分SQL标准,包括SELECT、FROM、WHERE、GROUP BY、JOIN等操作,使得用户可以方便地对Hadoop上的数据进行查询和分析。 【Hive函数】 Hive提供了丰富的内置函数,包括聚合函数(SUM、COUNT、AVG等)、数学...
这需要设置参数`hive.map.aggr=true`开启此功能,并且通过`hive.groupby.mapaggr.checkinterval`来控制在Map端进行聚合操作的条目数目。 - **负载均衡**:当存在数据倾斜时,可以启用`hive.groupby.skewindata=true...
在大数据处理领域,Apache Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询存储在Hadoop集群中的大型数据集。Hive JDBC(Java Database Connectivity)是Hive提供的一种...
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...