
Hive
枪枪枪
见贤思齐焉,见不贤而内自省也。
君子生非异也,善假于物也。
君子博学而日参省乎己,则知明而行无过矣。
展开
-
2021-08-31 Hive 分区表的使用
场景:有一个月,大概3T多的数据需要存储到hive中进行分析,不设置分区的话,查询数据的效率很差分区键的选择:这里选择按天分区分区表的创建drop table if exists ods_xty.vnbd_gps_202107_p;create table ods_xty.vnbd_gps_202107_p(row_key String comment "",zdate String comment "",vid BIGINT comment "",lat BIGINT comment "原创 2021-09-02 22:15:53 · 377 阅读 · 0 评论 -
2021-08-30 Could not get block locations. Source file XXXXXX
Query Hive on Spark job[0] stages: [0]Spark job[0] status = RUNNING-------------------------------------------------------------------------------------- STAGES ATTEMPT STATUS TOTAL COMPLETED RUNNING PENDING FAILED---------------原创 2021-09-02 14:22:40 · 2873 阅读 · 0 评论 -
DataGrip通过HiveServer2连接CDH版Hive
Hive版本:2.1.1-cdh6.3.0需要的JDBC名称hive-jdbc-2.1.1-cdh6.3.0-standalone.jar在集群的/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hive/jdbc/hive-jdbc-2.1.1-cdh6.3.0-standalone.jar路径下可以看到JDBC 驱动文件,拉取到本地后在DataGrip中新建User Drivers...原创 2021-08-30 21:00:21 · 1962 阅读 · 0 评论 -
[Hive QL] 将数据转为map类型
一个数据计算的需求中需要用到当前月以及上月的数据,不利用map数据类型的话计算起来很麻烦,这里记录一下过程。以下是根据实际业务分析出的计算逻辑。ps:24合算法30:资金31:资金平均数Q :12月=(P31*11+(P30+Q30)/2)/12P:11月=(O31*10+(O30+P30)/2)/11O:10月=(N31*9+(N30+O30)/2)/10N:09月=(M31*8+(M30+N30)/2)/9M:08月=(L31*7+(L30+M30)/2)/8L:07月=(K31*原创 2021-06-09 17:55:09 · 1775 阅读 · 0 评论 -
Hive QL 依据日期维表将一年中的每个月补齐成指定天数(例如33天),补齐的日期用改月最后一日的日期
思路:依据天数来进行补齐,小于33天的依次用最后日期拼上对应的天数当天数为28天时,年-月-日 29天,年-月-日 30天,年-月-日 31天,年-月-日 32天,年-月-日 33天,使用union all 将其它天数的处理结果上下拼接排除日期为null的行selectf.zdate,f.numfrom(selectcase when count(t1.zdate) = '28' then concat(t1.yearmonth,'-28') else null end as原创 2021-04-22 11:30:23 · 841 阅读 · 0 评论 -
Hive QL 获取某月的天数
资料:Hive-获取本月的第一天,本月的最后一天,本月的天数https://blog.youkuaiyun.com/H_X_P_/article/details/108161834实际使用如下:datediff(last_day(concat(t1.zyear,"-",t1.zmonth,"-","10")),date_sub(concat(t1.zyear,"-",t1.zmonth,"-","10"),dayofmonth(concat(t1.zyear,"-",t1.zmonth,"-","10")).原创 2021-04-20 15:00:05 · 6955 阅读 · 0 评论 -
Hive UDF、UDAF、UDTF 使用
因为需要一个开始日期到结束日期的日期维度表(原本想用别的方式生成后导入hive,但是比较麻烦),于是查了资料后看到如下写法:使用HiveSQL实现开始到结束日期之间的所有日期https://blog.youkuaiyun.com/JnYoung/article/details/106097733select tmp.*, t.*, date_add(start_date, pos) as mid_datefrom( select '1' as原创 2021-04-13 15:24:49 · 344 阅读 · 0 评论 -
Hive 配置实践:CentOS安装Hive,MySQL。并配置MySQL作为元数据库
文章目录安装Hive下载并解压到指定路径下配置环境变量编辑Hive的配置文件安装MySQL安装MySQL 社区版启动MySQL初始化数据库密码设置自动启动参考资料安装Hive官网链接:http://hive.apache.org/index.html下载并解压到指定路径下[root@localhost 下载]# tar -zxvf ./apache-hive-3.1.1-bin.tar.g...原创 2019-06-16 11:22:47 · 581 阅读 · 0 评论