Hive
hive
稳哥的哥
babe babe babe wowowowowowoow~!
寒江孤影、江湖故人
展开
-
快照表转换成拉链表的方式(hive)初始化拉链&增量更新拉链
hive拉链表原创 2022-08-20 03:10:33 · 1477 阅读 · 0 评论 -
Hive - 之谓词下推解析
Hive - 之谓词下推解析Hive的谓词下推是在对数据做操作之前,扫描数据进内存的一种优化手段!那么具体什么时候会自动进行谓词下推呢,或者换一句话说谓词下推的规则是怎样的呢 ?-- 1 join 【对于join,不管谓词放在on 还是 放在join都会触发谓词下推】select * from a join b on a.id = b.id and a.name = 'a' and b.name = 'b'; --all pushed select * from a join b on a.i原创 2021-07-06 21:18:14 · 723 阅读 · 1 评论 -
Hive-之posexplode函数查询startDate~endDate之间的所有日期
Hive-之posexplode函数实现查询startDate~endDate之间的所有日期需求:目前需要动态找到 20200603~20200607之间的所有日期-- 初始数据集WITH temp1 AS (select 'name1' as uid,'2020-06-03' as start_date, '2020-06-07' as end_date UNION ALL select 'name2' as uid,'2020-05-03' as start_date, '2020-05原创 2021-06-27 20:53:37 · 727 阅读 · 2 评论 -
hive-之拉链表的设计与练习
hive-之拉链表的设计与练习以下是转载地址:Hive拉链表的设计与简单实现经典Hive练习题原创 2021-05-18 22:02:50 · 159 阅读 · 0 评论 -
Tez-之log日志内容解析
Tez-之log日志内容解析参考网站:https://stackoverflow.com/questions/39115712/map-reduce-logs-on-hive-tez/39144600#39144600https://docs.qubole.com/en/latest/user-guide/engines/hive/using-hive-on-tez/hive-tez-tuning.html#understanding-log-panetez的日志中的内容代表什么含义呢?INFO原创 2021-05-12 21:44:40 · 1677 阅读 · 2 评论 -
Hive-之常用的列转行案例
该案例主要是解决将相同的column放在同一row进行展示,不同的值形成不同的列--from test1.a test1.b test1.c1 2 34 5 6--to typ val1 val2a 1 4b 2 5c 3 6--查询SQL,主要是将a列的所有值与'a'搭上关系,然后扁平化然后再聚合,实现思路不止一种,集思广益select typ,原创 2021-03-17 21:24:27 · 114 阅读 · 0 评论 -
Hive-之即席查询引擎选型考量
Hive-之即席查询引擎选型1 背景为什么需要使用到即席查询的数据表,这个取决于数仓的上层应用于数仓的规模,通常如果需要给Hive的上层服务提供快速响应,那么即席查询是必不可少的数仓组件,常见的即席查询组件有以下。DruidKylinPrestoImpalaSpark SQLES2 各种即席查询引擎的功能对比对比点DuirdKylinPrestoImpalaSparkSQLES亚秒级响应YYNNNN百亿级数据集YYYYYY原创 2021-03-15 19:06:01 · 732 阅读 · 0 评论 -
Hive-之UDTF解析解析JsonArray
package com.shufang.hive;import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;import org.apache.hadoop.hive.ql.metadata.HiveException;import org.apache.hadoop.hive.ql.udf.generic.Gen原创 2021-01-24 22:16:01 · 698 阅读 · 0 评论 -
Hive-之Load data into table[partition](hdfs -> ods ,ods -> dw)
Hive-之Load data into table[partition]--创建表,确定schema和各种formatDROP TABLE IF EXISTS shufang.students;CREATE TABLE IF NOT EXISTS shufang.students( id int , name string, create_time string ) partitioned by (dt string) --指定分区表row format delimite原创 2021-01-24 10:28:42 · 1808 阅读 · 0 评论 -
数仓常用的刷数shell脚本(限制之间范围)
数仓常用的刷数shell脚本(限制之间范围)#!/bin/bashEXPORT_START_DATE=$1EXPORT_END_DATE=$2#确定刷数的起始、结束时间from_date=$(date -d ${EXPORT_START_DATE} +%F)to_date=$(date -d ${EXPORT_END_DATE} +%F)echo $from_datei=$from_datewhile [[ $i < `date -d "+1 day $to_date" +%Y-原创 2021-01-08 15:34:26 · 887 阅读 · 0 评论 -
Hive中如何正确的使用拉链表
Hive中如何正确的使用拉链表1 拉链表的使用场景在数据仓库的模型设计的过程中,通常我们会碰到那种非常大的业务基础信息表,如用户表;假如一个用户表有10亿条记录,50个列,就算使用orc压缩,但张表的存储也会超过100G,如果同步到Hive中按HDFS的默认备份,那就是300G,这样对磁盘的消耗也是非常大的。假设该表的某些字段在业务端会产生update操作,但是每次update的字段就那么1到2个,其它字段不变,那么这些变化不频繁的维度字段被称为缓慢渐变维,而且相同id的变update频率很小,每原创 2020-11-17 18:14:29 · 2216 阅读 · 0 评论 -
Spark on Hive Hive on Spark傻傻分不清?
Spark on Hive? Hive on Spark傻傻分不清?1 spark on hiveSpark on hive,是spark计算引擎依托hive data source,spark 可以依托JDBC、File、Collection等数据源,hive只是spark集成的数据源之一;具体可以参考spark官方文档;我们可以在代码中配置enableHiveSupport来启用Hive数据源。这里是Spark集成Hive。2 Hive on SparkHive on Spark,显而易见,Hi原创 2020-11-04 22:23:08 · 4025 阅读 · 0 评论 -
Hive的元数据库从derby迁移到MySQL
Hive的元数据库从derby到MySQL1.安装hive (1)解压tar包 (2)修改hive-env.sh 修改HADOOP_HOME和 HIVE_CONF_DIR2.替换默認derby数据库为mysql (1)先查询卸载原有的mysql数据库 rpm -qa|grep mysql sudo rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64 (2)安装server(记得用sudo) 解压unzip mysql原创 2020-06-22 20:49:53 · 434 阅读 · 0 评论 -
Hive的运行时架构
Hive的运行时架构1 Hive的主要组件Hive的主要组件有3个Serrializers/DeSerializers组件这个组件是一个序列化框架,同时伴随着序列化与反序列化的库;其中包含着大量内置的序列化/反序列化器,同时支持用户自定义的序列化反序列化器。read数据的生命周期HDFS File -> inputformat(RecordReader) -> <k,v> -> serializer -> Row objectwrite数据生原创 2020-06-16 23:07:32 · 134 阅读 · 0 评论 -
Hive-DDL语法(create、drop 、alter 等)
Hive-DDL语法Hive中的DDL语法具体可参考1 database1.1 create databaseCREATE database if NOT exists odscomment 'ods'location 'hdfs://path/to/dic' --用于外部表-- managedLocation '' 用于内部表with dbproperties("propertyname" = "propertyvalue",...)1.2 alter databaseALT原创 2020-06-15 21:36:01 · 700 阅读 · 0 评论 -
Hive之 管理表(内部表)与外部表
Hive之 管理表(内部表)与外部表首先通过desc formatted tablename来看表是否为外部表/内部表。内部表:当我们的数据需要通过Hive进行管理的时候或者生成临时表的时候,我们就用内部表外部表:当我们需要从已有的HDFS的外部数据关联进Hive Table时, 而且防止误删数据的时候我们就用外部表。内部表与外部表的特征比较ARCHIVE/UNARCHIVE/TRUNCATE/MERGE/CONCATENATE 只能用于内部表DROP table对外部表来说只删除关联的元原创 2020-06-14 23:07:09 · 451 阅读 · 0 评论 -
Hive之FileFormats & SerDe,包含 ORC、Parquet、Json、Avro、正则等格式
Hive之FileFormats & SerDe1 FileFormat概念首先什么是Hive的FileFormat?Hive本身没有存储数据的能力,底层存储数据还得依靠Haddop的HDFS,HDFS上的数据可能是固定格式或者特殊格式的数据,通过FileFormat可以将数据格式与Hive的每一行Row对应起来,形成Hive的Table,这些Table的元数据都存储在Hive的MetaData数据库中,通过QueryProcessor组件中的MetaDataLayer访问元数据,这样的话就可原创 2020-06-13 15:18:30 · 1432 阅读 · 0 评论 -
Hive数据类型支持以及Hive CLI、Beeline CLI使用
Hive数据类型支持以及Hive CLI、Beeline CLI使用1 Hive的数据单元Hive中的数据单元有:Databases 、Tables 、Partitions、Clusters(Buckets)Databases用来管理、区分不同的数据;Tables用来存放不同表的数据;Partition可以对Table中的数据进行分区;Cluster可以将不同的分区数据划分到不同的Buckets中,以文件的形式进行保存,一般用于数据量比较大的数据,便于抽样(TABLESAMPLE(2 out原创 2020-06-11 23:20:28 · 521 阅读 · 2 评论 -
Apache-Hive是个什么东东
Apache-Hive概览Hive是什么?要想将一个东西使用好,必须首先对这个东西有一个很正确的定位。答案如下:Hive是一个数据仓库工具。Hive是一个可以用来便利读取、写入、管理海量数据集的数据仓库工具。Hive是一个可以使用SQL语法读取、写入、管理分布式存储系统上的海量数据集的数据仓库工具。Hive是基于Hadoop生态的上层应用,它提供了以下的特性:通过SQL访问数据,允许运行ETL(Extract\Transform\Load)、报表、数据分析等相关的的数据仓库任务。能够按原创 2020-06-10 22:11:56 · 607 阅读 · 0 评论 -
hive调优
hive的常规优化1.数据量小的时候,将map-reudce作业放在本地工作站执行,这样只会启动一个reducer,数据量大的时候不可取SET mapreduce.framework.name = local;SET mapred.local.dir = ‘/tmp/<username>/mapred/local’ # 应指向在本地计算机上有效的路径(否则,用户将获得分配本地磁盘...原创 2020-01-05 19:59:53 · 408 阅读 · 0 评论 -
hive的命令行启动方式
一、hiveClibin/hive [-e] [-f] --database name "SET xxx = ;SET xxx = ;"二、hiveServer2bin/hiveserver2 bin/beeline -u jdbc:hive2://localhost:10000三、hive配置$ bin/hive --hiveconf x1=y1 --hiveconf x2=y2...原创 2020-01-05 19:59:15 · 1316 阅读 · 0 评论 -
数仓库常用脚本
数仓库常用脚本xsync集群同步分发脚本#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); thenecho no args;exit;fi#2 获取文件名称p1=$1fname=`basename $p1`echo fname=$fname#3 获取上级目录到绝对路径pdir=`cd -P $(d...原创 2019-12-09 08:09:11 · 323 阅读 · 0 评论 -
Hive常用函数使用
Hive常用函数使用本篇主要介绍一些经常会用到的hive函数,‘—’后序也会持续添加更新## 常用函数date_format()date_add()date_sub()last_day()next_day()month_between()month()day()year()round() ## 四舍五入,求近似值get_json_object()sum(if(,,))...原创 2019-09-29 10:26:56 · 150 阅读 · 0 评论 -
`Hive`UDF and UDTF example
Hive的UDF函数与UDTF函数自定义以及使用本篇主要讲解hive自定义函数的使用以及在hive上进行部署,主要功能是将复杂的json字符串转化成简单的字段,原始数据如下"1541217850324|{\"cm\":{\"mid\":\"m7856\",\"uid\":\"u8739\",\"ln\":\"-74.8\",\"sv\":\"V2.2.2\",\"os\":\"8.1.3\",...原创 2019-09-17 16:27:50 · 163 阅读 · 0 评论