hive
文章平均质量分 69
lianchaozhao
这个作者很懒,什么都没留下…
展开
-
Hive、Spark SQL任务参数调优回顾
待todo原创 2022-03-02 15:35:46 · 2239 阅读 · 0 评论 -
hive explode 使用
hive explode 使用和行转列的两种写法原创 2022-02-23 17:21:22 · 951 阅读 · 0 评论 -
hive with as的测试使用记录
with table1 as(select 1 as t1_id, ‘小满t1_1’ as name, 100 as oldunion allselect 2 as t1_id, ‘小满t1_2’ as name, 100 as oldunion allselect 3 as t1_id, ‘小满t1_3’ as name, 100 as oldunion allselect 4 as t1_id, ‘小满t1_4’ as name, 100 as old),table2 as(sel原创 2021-12-28 19:37:13 · 865 阅读 · 0 评论 -
hive 索引应用
1、背景Hive从0.7.0版本开始加入了索引,目的是提高Hive表指定列的查询速度。没有索引的时候,Hive在执行查询时需要加载整个表或者整个分区,然后处理所有的数据,但当在指定列上存在索引,再通过指定列查询时,那么只会加载和处理部分文件。此外,同传统关系型数据库一样,增加索引在提升查询速度的同时,会额外消耗资源去创建索引和需要更多的磁盘空间存储索引。2、原理和机制Hive的索引其实是一张索引表(Hive的物理表),在表里面存储索引列的值,该值对应的HDFS的文件路径,该值在数据文件中的偏移量。当原创 2021-08-16 17:26:20 · 437 阅读 · 0 评论 -
HIVE常用函数速查
Hive 提供了较完整的 SQL 功能,HQL 与 SQL 基本上一致,旨在让会 SQL 而不懂 MapReduce 编程的用户可以调取 Hadoop 中的数据,进行数据处理和分析。记录日常数据分析过程中 Hive SQL 需要的查询函数,方便手头随时查询,定期更新补充。...原创 2021-08-12 15:32:55 · 2313 阅读 · 1 评论 -
hive 总结排序相关
order by会对输入做全局排序,因此只有一个Reducer(多个Reducer无法保证全局有序),然而只有一个Reducer,会导致当输入规模较大时,消耗较长的计算时间。关于order by的详细介绍请参考这篇文章原创 2021-08-10 16:47:31 · 134 阅读 · 0 评论 -
hive分析相关窗口函数三之取数相关
1、开窗函数取特定值开窗函数中经常遇到去取出某个特定的值,具体的相关函数为1、开窗函数值具体例子原创 2021-08-06 16:05:32 · 1314 阅读 · 0 评论 -
hive分析相关窗口函数二之排序相关
1、开窗函数(排序相关)row_numberROW_NUMBER() 从1开始,按照顺序,生成分组内记录的序列SELECT cookieid, createtime, pv, ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY pv desc) AS rn FROM test;RANK 和 DENSE_RANKRank() 生成数据项在分组中的排名,排名相等会在名字中留下空位,Dense_Rank() 生成数据项在分组中的排名原创 2021-08-05 15:51:19 · 1098 阅读 · 0 评论 -
hive分析相关窗口函数一之聚合相关
背景:随着hive 的发展支撑的开窗函数越来越多,其中增加了很多分析相关开窗函数例如SUM、AVG、MIN、MAX 等原创 2021-07-20 21:10:42 · 540 阅读 · 1 评论 -
HIVE相关方法优化之聚合函数GROUP SETS
1、背景在数据开发统计相关计算过程中,group by 和group sets 是我们经常用的方法。但当统计指标过程中如果维度特别多,会使得数据任务运行特别慢,导致任务延迟经常出现。针对上面问题对group sets 常用指标进行调研优化。2、...原创 2021-07-05 11:36:00 · 3507 阅读 · 0 评论 -
hive array类型转成多行
1、explode(array)函数接受array类型的参数,其作用恰好与collect_set相反https://my.oschina.net/u/3204727/blog/1571101原创 2020-12-30 18:13:49 · 3955 阅读 · 0 评论 -
hive 相同key 多行多列合并 处理
概述在join 的过程中我们很容易出现数据膨胀现象,即一行变成多行情况。面对这种情况,一般会有两种处理方式第一种:用row_number 等分窗函数,根据不同策略取不同行的数据第二种:将相同key对应多行的情况合并成一行,(如果一行有多个字段,还有可能合并为一个字段中)实现方式如源表结构:pcgid string mobilegid string原创 2020-12-22 15:16:22 · 4270 阅读 · 0 评论 -
hive group by 的高级用法
roup by 作为一种分组查询,在sql中用处十分广泛。原创 2020-11-12 20:27:08 · 1999 阅读 · 0 评论 -
hive的数据倾斜解决(Map端、reduce 端 、join中)
hive 的数据倾斜一般我们可以分为 Map倾斜、reduce 倾斜和join 倾斜这几种。原创 2020-11-02 15:24:08 · 6732 阅读 · 3 评论 -
数据仓库主题九-(事务事实表)
对于单事务事实表,一个业务过程建立一个事实表,只反映一个业务过程的事实 对于多事务事实表,在同一个事实表中反映多个业务过程。多个业务过程是否放到同一个事实表中。原创 2020-10-13 18:01:51 · 3404 阅读 · 4 评论 -
数据仓库主题十-(周期快照事实表)
综述当我们在实际工作过程中涉及到一些指标的计算比如账户余额、买卖家星级 商品库存、卖家累积交易额等计算中,则需要聚集与之相关的事务才能进行识别计 ;或者聚集事务无法识别 ,比如 温度等。对于这些状态度量,事务事实表是无效率的,而这些度量也和度量事务本身一样是有用的 ,因此, 维度建模理论给出了第二种常见的事实表一一周期快照事实表,简称“快照事实表”。快照事实表:在确定时间间隔内对实体的度量进行抽样,这样可以很容易的研究实体的度量值,而不需要要聚集长期 事务历史。接下来将以淘宝交易结束后的评价数据、卖家原创 2020-10-20 16:52:29 · 9182 阅读 · 1 评论 -
数据仓库主题八-(事实表思想)
事实表作为数据仓库维度建模的核心,紧紧围绕着业务工程来设计,通过获取描述业务过程的度量来表达业务工程,包含了引用的维度和与业务工程有关的度量。原创 2020-10-12 16:30:16 · 1331 阅读 · 3 评论 -
数据仓库主题七-(维度变化和特殊维度问题)
一、维度设计之维度变化1、数据仓库的重要特点之一是反映历史变化,,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化与数据增长较为快速的事实表相比,维度变化相对缓慢。在一些情况下,我们需要保留历史数进行分析。所以我们需要对缓慢变化的维度进行设计和处理。在 Kimball 的理论中,种处理缓慢变化维的方式,下面通过简单的实例进行说明,具体细节请翻阅 Kimball 的相关书籍。todo 待更新二、维度设计值特殊维度...原创 2020-09-09 11:50:26 · 2586 阅读 · 0 评论 -
数据仓库主题三-(实施篇)
背景:如何从具体的需求或项目转换为可实施的解决方案,如何进行需求分析、架构设计、详细模型设计等,则是模型实施过程中讨论的内容。原创 2020-08-10 17:58:20 · 1009 阅读 · 0 评论 -
数据仓库主题二(分层和原则)
一、数据仓库分层阿里巴巴的数据团队把表数据模型分为三层 :操作数据层( ODS )、公共维度模型层( CDM)和应用数据层( DWS ), 其中公共维度模型层包括明细数据层( DWD )和汇总数据层( ADS )。现在自己接触到的公司基本都把自己数据仓库模仿阿里。构建四层数据结构 (ODS、DWD、DWS、ADS)或者增加一层简单清洗过滤层(主要是简单过滤清洗ODS层数据)。1、各层作用操作数据层( ODS ):把操作系统数据几乎无处理地存放在数据仓库系统中。同步:结构化数据增量或全量同步到数据仓库原创 2020-08-10 11:09:46 · 2264 阅读 · 0 评论 -
数据仓库主题四--(表命名规范)
待总结 todo原创 2020-08-07 11:29:39 · 11040 阅读 · 1 评论 -
数据仓库主题一(宽表模型设计)
todo 整理和心得原创 2020-07-16 14:26:21 · 14273 阅读 · 1 评论 -
hive sql 的总结分析
1、旨在对hive sql整体总结记录 todorefer https://my.oschina.net/leejun2005/blog/75722原创 2020-06-16 11:53:21 · 285 阅读 · 0 评论 -
hive sql之 窗口函数。
一、row_number 函数区别于其它排序函数,相当于多了一个排序的列。数据准备:name moneyming 12yang 23ming 35ming 54yang 431、按照其中money 进行排序并增加一行。select name,money,row_number() over (order by money) from lei_t...转载 2020-03-12 18:53:57 · 412 阅读 · 0 评论 -
CDH 给root 用户赋值 超级权限 和 hive 赋值操作 详细
hive中查看用户权限‘由上可知hive 用户权限分配 一般可以通过两方面1、直接对不同的用户赋权。2、通过对hive中的角色赋权(一般可以通过hue)待补充...原创 2019-12-03 16:05:00 · 3958 阅读 · 0 评论 -
新环境 hive客户端 提交任务失败
环境:新安装cdh5.13.0engine : hive on spark正在服务器上运行hive然后提交sql (或写spark任务提交任务) 总是失败。hive> select count(*) from ods_finance_plan_sub_point_log_test limit 10;Query ID = hdfs_20191127174545_293f89bd-327...原创 2019-11-27 18:02:03 · 712 阅读 · 0 评论 -
azkaban 提交 yarn 任务等待
在azkaban 中出现Logging initialized using configuration in jar:file:/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/jars/hive-common-1.1.0-cdh5.13.0.jar!/hive-log4j.properties和Query ID = hdfs_20190...原创 2019-03-13 10:42:28 · 1521 阅读 · 2 评论 -
cloudera HiveServer2 备份安装
1在cloudera 中 选择 添加服务2选择 hiveserver2 要安装的主机3在 其已经安装有 hiveserver2的机子上安装 spark 客户端(一般cloudera 中我们会选择 hive on spark )4然后在启动已经安装好的 hiveserver2 的服务(注意先后顺序 ,先在其对应机子上安装 spark 客户端之后 再启动 hiveserver2 服务 否则会使...原创 2019-03-07 16:16:31 · 210 阅读 · 0 评论 -
hive数据的追加(不同文件格式或压缩方式 文件)
1 首先根据文件格式新建一个特定切分的表如果数据是以tab键 分割时新建表CREATE EXTERNAL TABLE tmp.ods_test(id bigint,amount double,available_interest double,)row format delimited fields terminated by ‘\t’ stored as textFileL...原创 2019-01-29 14:15:57 · 1140 阅读 · 0 评论 -
hive 锁机制 和问题解决
问题:某种表被频繁读写导致,表被锁住,使得任务一直被卡住。解决方式:1 排查锁被sql 占用显示的表级别和分区级别和 EXTENDED 解析那个表占用锁SHOW LOCKS <TABLE_NAME>;SHOW LOCKS <TABLE_NAME> EXTENDED;SHOW LOCKS <TABLE_NAME> PARTITION (&原创 2019-01-15 15:33:35 · 7646 阅读 · 1 评论 -
hive中字符串类型的日期
问题: hive 时间字段一般定义为string类型 (例如dt)当我们比较事习惯写成 dt> ‘2018-12-27’ 也能找到 相应的内容今天细想了一下原来是string 的比较大小也能实现 装换成时间后再比较的效果 (以前都是用,突然想明白记录下自己以前不好行为)原理:字段‘dt’是string类型,那么比较应该是按照string比的,但是该字段的format可以支持类似于日...原创 2019-01-03 15:36:26 · 7622 阅读 · 2 评论 -
Excel转成hive的表过程中 hive数据中文乱码问题
环境 :window 10线上环境:centosExcel 文件另存为 为csv 文件(默认以逗号分隔)将csv 文件 重命名问txt 结尾文件打开txt 文件 另存为 编码为uTf-8上传服务器 然后 上传到 建的hive 类型为外部表的 location 指定的特定路径下注 :新建表的 语句CREATE EXTERNAL TABLE dim_data(‘datekey’ s...原创 2018-12-13 11:31:46 · 800 阅读 · 0 评论 -
presto集群安装并集合hive mysql
环境 presto 版本 presto-server-0.203.tar.gzcdh CDH5.131.在Presto官网下载presto-server-0.203.tar.gz安装包2.解压 压缩包 解压路径为tar -zxvf presto-server-0.203.tar.gz -C /opt/cloudera/parcels/presto3.为presto-server...原创 2018-11-14 15:23:07 · 729 阅读 · 0 评论 -
hive 提交到 yarn 任务 方式 和 spark UI 不能收集日志问题
1.通过本地客户那端命令连接hive -e ‘select count(*) from *** where ***’或者 本地 敲命令 hive 然后 写 sql方式或者bin/hive -e “HQL语句,多个语句用;隔开”; //-e表示直接写HQLhive-1.1.0-cdh5.14.0]# bin/hive -f /export/servers/hive-study-da...原创 2019-03-13 15:51:55 · 1941 阅读 · 0 评论 -
脚本 hive 删除掉分区
在脚本中调用命令删除分区hive -S -e “alter table ods.** (table)drop partition (dt=’$data_date’);” 发现不成功解锁 后 hive 命令好 输入 成功删除hive -e “alter table ods.*** (table)drop partition (dt=’$data_date’);” 成功...原创 2019-03-31 15:12:24 · 1034 阅读 · 0 评论 -
clodera scm 数据库表信息 和 hive元数据整理
一、 cloudera 会将页面的数据存储到 SCM 中 其表结构梳理(对应生产BAOFOO_SCM)AUDITS登录信息、服务,角色重启、配置更改PROCESSES进程信息。这里面有很多信息。开放的web端口。HOSTS主机信息,包括IP地址,所在机架,内存,CPU等信息CLIENT_CONFIGS客户端配置,里面有下载客户端配置的路径。CONFIGS_AUD配置审计表。C...转载 2019-05-10 18:47:21 · 473 阅读 · 0 评论 -
cm 中hive 多实例 主备容错
hive metastore server 用于连接hive 的原数据信息(部署两个节点)官网解释(hive原数据和分区的访问都要通过metastore )hive 可以通过 Gate way 的 hive 命令访问元数据hive server2一个服务端接口,使远程客户端可以执行对Hive的查询并返回结果。目前基于Thrift RPC的实现是HiveServer的改进版本,并支持多客户...原创 2019-05-10 19:04:19 · 666 阅读 · 0 评论 -
hive 复杂数据类型 在数仓中应用(array、map、struct、和其组合应用)
环境:一般宽表建表可能考虑存储更多信息选择复杂模型建设复杂数据类型:array、map、struct1.数组array,里边不能装不同类型的数据more hive_array.txtzhangsan beijing,shanghai,tianjin,hangzhoulisi changchun,chengdu,wuhan,beijing创建表create tabl...原创 2019-05-28 21:02:19 · 2859 阅读 · 0 评论 -
hive 中修改 map 类型切分方式 及hive元数据问题
hive 中 经常用到的 map类型mapString:String其中 map中各元素的切分方式 通过 colelction.delime 确定问题:找了网上 没找到其修改colelction.delime 的方式 所以打起了 修改元数据的方式记录小 最后定为SERDE_PARAMS 定义了表中 字段切割方式 通过修改此表 修改了 colelction.delime 的切分方式...原创 2019-05-29 17:21:16 · 1481 阅读 · 2 评论 -
hive partition insert时候设置动态分区
1 第一种方法set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;insert into table ts.dyy_test partition(dt)select a,b,date_sub(‘2019-03-23’,2) dt from asdf.sldfjkskdjfll...原创 2019-06-28 14:02:29 · 10339 阅读 · 0 评论