数据仓库Hive学习总结
关于hive学习的总结。
二百四十九先森
这个作者很懒,什么都没留下…
展开
-
细致剖析Hive的时间函数
1、时间戳与任何格式的日期互转from_unixtime(时间戳,时间格式) 将时间戳转换为致指定的日期格式 hive> select from_unixtime(1234567890,'yyyy-MM-dd'); 2009-02-14 hive> select from_unixtime(1234567890,'yyyy-MM'); 20...原创 2020-01-07 11:37:58 · 593 阅读 · 0 评论 -
详细剖析Hive SQL的编译过程
Hive SQL的编译过程转载 2019-05-16 12:54:23 · 484 阅读 · 0 评论 -
Hive三种模式的简单介绍及具体搭建流程
理论基础hive有三种运行模式: 内嵌模式、本地模式、远程模式。内嵌模式: 元数据保村在内嵌的derby中,允许一个会话链接,尝试多个会话链接时会报错。本地模式: 本地安装mysql 替代derby存储元数据。 由于元数据的获取需要访问mysql,所以这就要求每一个用户必须要有对MySQL的访问权利。远程模式: 以本地模式为基础。 ...原创 2019-04-25 08:18:36 · 2140 阅读 · 0 评论 -
Hive中的join实操加补充MySQL中的exits/in
hive中的join有以下几类: inner join/left join/right join/full join/cross join/left semi join测试数据: ja.txt 1 zhang3 2 li4 3 wang5 jb.txt 1 19 2 20 ...原创 2019-04-30 11:13:20 · 329 阅读 · 0 评论 -
用hive分析某地区掉话率top10的设备
数据如下:废话不多说,开干1、将数据上传至hdfs。2、建立原始数据表:create table phone_raw( record_time String, imei String, cell String, ph_num int, call_num int, drop_num int, duration int, drop_rate int, net_t...原创 2019-04-29 20:56:40 · 286 阅读 · 0 评论 -
hive的操作方式以及补充hive中的索引和视图
Hive操作方式1、命令行方式cli:A)执行SQL: hive> select * from psn; OK 1 zhang3 ["sing","tennis","running"] {"beijing":"daxing"} 10 2 li4 ["sing","pingpong","swim"] {"shanghai":"baoshan"} 10 ...原创 2019-04-29 17:19:33 · 322 阅读 · 0 评论 -
hive中的lateral view结合udtf函数的使用解决生产问题
===============================================================================create table psn( id int, name string, likes array<string>, address map<string,string>...原创 2019-04-29 15:02:00 · 859 阅读 · 0 评论 -
Hive中的参数设置的四种方式
1、参数分类hiveconf: 配置变量 可读写 一般我们设置的就是这一类参数system: 系统变量 可读写env: 环境变量 只读hivevar: 变量 可读写 hive -d key=val 使用:${key}2、查看hive参数hive>setenv:HISTSIZE=1000env:HIVE_...原创 2019-04-28 21:00:46 · 2520 阅读 · 0 评论 -
Hive常用的内置函数示例演示
测试数据:1 zhang3 sing-pingpong-running beijing:daxing2 li4 sing-pingpong-running beijing:daxing3 wang5 sing-pingpong-running beijing:daxing建表:create table psn( ...原创 2019-04-27 22:20:00 · 451 阅读 · 0 评论 -
仅从SQL和表及参数层面简单总结22种Hive基础调优方式
1、SQL和table层面1、column pruning(列裁剪) 查询的时候需要哪些列,直接查这些列即可,不要全局查询。2、partition pruning(分区裁剪) 查询的时候需要哪些分区,直接查这些分区即可,不要全局查询。3、合理利用中间结果集 SQL1包含:select a,b,c from xxx group ......原创 2018-08-02 11:32:16 · 3152 阅读 · 0 评论 -
hive 0.14版本新shell客户端工具beeline的使用及一些注意事项
1、beeline介绍 a)0.14版本后,基于hiveserver2的客户端工具beeline出现,可以替代传统的hive shell客户端。 beeline的使用必须结合hiveserver2,即必须先启动hiveserver2服务才能进入beeline客户端。 b)beeline更加的安全,它对外只暴露读的接口。增删改操作是没有权限的,举个例子来说:...原创 2019-04-27 10:44:32 · 2454 阅读 · 0 评论 -
Hive分桶学习及分桶的应用场景如大表间的join操作
理论基础1、概念: 对于表或分区,进一步细分成桶。 分桶方式: 对列进行hash再对桶个数取模,确定记录入桶。2、操作普通表:create table nor_tab(id int,name String,age int) row format delimited fields terminated by '\t' lines t...原创 2018-08-02 09:44:25 · 1618 阅读 · 2 评论 -
Hive动态分区与静态分区讲解与示例演示
一、理论基础1、分区对比: 就oracle而言,分区是真实字段,在数据进行插入的时候自动分配分区。 Hive的一个分区对应一个目录,子分区就是子目录,并不是一个真实字段,但查询能看到分区字段。2、Hive的分区分为静态分区和动态分区。 分区字段可用于where子句过滤 静态分区,插入必须知道分区字段的值,load data逐个load,太烦人。 查...原创 2018-08-01 11:02:50 · 1642 阅读 · 3 评论 -
Hive面试题
1、说说Hive中的内部表和外部表?Managed Table External Table。默认 创建时加上external关键字数据由Hive管理 ...原创 2018-08-01 11:17:23 · 2949 阅读 · 0 评论 -
Hive学习第一课:hive基础知识与体系架构
1、理论基础1、什么是Hive? Hive是一个构建在Hadoop之上的数据仓库,提供类似sql的查询语句HiveQL对数据进行分析处理。 Hive将HiveQL语句转换一系列成MapReduce作业并执行。 目前,Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎。 常用于离线批处理。2、hive产生背景 m...原创 2018-01-27 18:53:48 · 355 阅读 · 0 评论 -
真实测试:基于Hive存储格式对存储性能及查询性能的影响引发的hive调优思考
理论基础一、大数据领域的行式存储与列式存储1、行式存储: hdfs上一个block存储一或多行数据。 按行压缩,压缩性能受字段类型影响。 字段查询:select id,name from table_emp; #####全表扫描,字段拼接,效率低。 全表查询:select * from table_emp; #####直...原创 2018-03-06 20:45:55 · 6642 阅读 · 2 评论 -
Hive的用户自定义函数UDF开发步骤详解
1、自定义函数的分类:UDF: one2one concat/lower 生产上用的最多UDAF: many2one count/max......UDTF: one2many lateral view explode2、开发流程新建项目----》导入jar包----》开发函数(继承UDF,重写evaluate。用hadoop的数据类型。)----》打成jar包----》上...原创 2018-01-20 20:37:32 · 2202 阅读 · 0 评论 -
Hive实现wordcount词频统计
vi wc.txtzhangs love chinalisi is runningchina is great countrybeijing is the capital of china================================================================================hive> create tab...原创 2018-01-12 15:35:49 · 1747 阅读 · 0 评论 -
Hive中的DML语句的详细梳理
DML:Data Manipulation Language 数据操纵语言1、插入数据到数据表1、建表后插入数据a)语法: LOAD DATA [LOCAL] INPATH'filepath'[OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]b)...原创 2018-01-10 12:41:26 · 410 阅读 · 0 评论 -
Hive中的DDL语句的详细梳理
DDL:Data Definition Language 数据定义语言一、数据库相关1、创建数据库语法: CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] #####数据库注释 [LOCATION hdfs_path] #...原创 2018-01-09 21:40:50 · 441 阅读 · 0 评论 -
各种压缩格式对比及压缩在MapReduce各阶段的应用简录
1、压缩: 压缩是指以某种格式对文件进行归档操作 好处: 节省空间、减少I/O(磁盘I/O和网络I/O)、加快传输 缺点: 增加CPU负载,集群负载较高(会造成job堵塞)时不建议使用压缩 分类1: Lossless无损压缩:日志数据 Lossy有损压缩:图片、视频 分类2: ...原创 2018-03-02 08:07:21 · 676 阅读 · 0 评论 -
Hive源码编译安装
一、需要安装的软件 # 相关环境: # jdk-7u80 # hadoop-2.6.0-cdh5.7.1 不支持jdk1.8,因此此处也延续jdk1.7 # apache-maven-3.3.9 # mysql5.1 # 伪分布集群已启动二、安装jdk mkdir /usr/java &&cd /usr/...原创 2018-01-02 22:56:56 · 1501 阅读 · 0 评论 -
启动Hive报错
启动hive报错如下:[hadoop@hadoop001 bin]$ hivewhich: no hbase in (/home/hadoop/apps/hive/bin:/home/hadoop/apps/hadoop/bin:/home/hadoop/apps/hadoop/sbin:/usr/local/findbugs/bin:/usr/local/protobuf/b...原创 2018-01-05 22:47:36 · 3172 阅读 · 0 评论 -
【调优经典】Map和Reduce 个数的设定 经典
一、 控制hive任务中的map数:1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 举例:a) 假设input目录下有1个文...转载 2018-06-02 09:38:07 · 4113 阅读 · 1 评论 -
Hive on Spark
装了一个多星期的hive on spark 遇到了许多坑。还是写一篇随笔,免得以后自己忘记了。同事也给我一样苦逼的人参考。先说明一下,这里说的Hive on Spark是Hive跑在Spark上,用的是Spark执行引擎,而不是MapReduce,和Hive on Tez的道理一样。先看官网的资源Hive on Spark: Getting Started 要想在Hive中使用Spark执行引擎,...转载 2018-07-15 10:17:25 · 705 阅读 · 0 评论