hive
wangfutai91
钩深索隐,卓荦为杰。
展开
-
HIVE分区常用操作
分区常用操作1.查看分区表中有哪些分区show partitions table_name;SHOW PARTITIONS tomcat_log PARTITION(year='2019');2.查询某个分区下的数据根据分区查询数据select table_coulm from table_name where partition_name = '2014-02-25’;...原创 2019-01-09 20:22:22 · 527 阅读 · 0 评论 -
hbase 和 hive 关联表
hive 创建 关联hbase表有2种形式:第一种:hive> create table hive(id string,name string, age int)> stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'> with serdeproperties ("hbase.columns.mapp...转载 2019-01-10 10:02:50 · 370 阅读 · 0 评论 -
hive面试题
1. Hive数据倾斜原因key分布不均匀业务数据本身的特性SQL语句造成数据倾斜解决方法:1).hive设置hive.map.aggr=true和hive.groupby.skewindata=true有数据倾斜的时候进行负载均衡,当选项设定为true,生成的查询计划会有两个MR Job。第一个MR Job中,Map的输出结果集合会随机分布到Reduce中,每个Reduce做...原创 2019-01-21 16:19:57 · 592 阅读 · 0 评论 -
hive原理
什么是Hive? Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和...转载 2019-01-16 20:16:18 · 127 阅读 · 0 评论 -
导入mysql中文乱码问题
一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候: 1 2 3 CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2、建表的时候 1 2 3 4 CR...原创 2019-01-22 19:43:48 · 796 阅读 · 0 评论 -
hive优化总结
原文:https://blog.csdn.net/preterhuman_peak/article/details/40649213长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是...转载 2019-03-14 09:47:12 · 136 阅读 · 0 评论 -
Hive总结篇及Hive的优化
概述Hive学习也有一段时间了,今天来对Hive进行一个总结,谈谈自己的理解,作者还是个小白,有不对的地方请大家指出相互学习,共同进步。今天来谈一谈什么是Hive,产生背景,优势等一系列问题。什么是Hive老规矩:官网地址Hive wiki.先来谈谈自己的理解:有些人可能会说Hive不就是写SQL的吗,那我们其实可以从另一个角度来理解:Hive就是那么强大啊,只要写SQL就...转载 2019-03-14 13:58:00 · 245 阅读 · 0 评论 -
hive优化
1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并...转载 2019-03-23 22:11:31 · 911 阅读 · 0 评论 -
Hive分区、分桶操作及其区别
1,Hive分区。 是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。...转载 2019-03-23 22:15:58 · 743 阅读 · 0 评论 -
hive中UDF、UDAF和UDTF使用
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Integer/Strin...转载 2019-03-23 22:25:20 · 483 阅读 · 0 评论 -
Hive中跑MapReduce Job出现OOM问题分析及解决
一、引子今天在跑一段很复杂而且涉及数据量10多年的N个表join的长SQL时,发生了OOM的异常。由于一个map通常配置只有64MB或者128MB,则在Map阶段出现OOM的情况很少见。所以一般发生在reduce阶段。但是今天这个异常详细的看后,会发现既不是map阶段,也不是reduce阶段,发现不是执行过程,而是driver提交job阶段就OOM了。Hive中XMLEncoder...转载 2019-03-23 22:26:18 · 2971 阅读 · 0 评论 -
mysql-hive-hbase数据之间的传递-sqoop
1.将mysql数据导入hivea.普通表创建hive表格 CREATE TABLE hive.mysql_to_hive ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; sqoop import \ --connect ...原创 2019-01-25 10:43:25 · 245 阅读 · 0 评论 -
HIVE基础操作(命令,表,数据导出导入等)--持续更新
1.show databases;2.show tables;3.show tables in 数据库名;(不在对应数据库下可查到想要的表名)4.show tables in hive 'tom*'; 查询在hive数据库下,tom开头的表名。5.desc extended tablename; 可以查看表详细信息,其中tableType=MANAGED_TABLE或EXTENDED_...原创 2019-01-09 14:31:42 · 959 阅读 · 0 评论 -
flume收集日志到hive遇到问题总结
异常如下:19/01/18 02:12:51 WARN hive.HiveSink: k1 : Failed connecting to EndPoint {metaStoreUri='thrift://wangfutai:9083', database='hive', table='flume2', partitionVals=[] }org.apache.flume.sink.hive...原创 2019-01-18 19:00:44 · 3381 阅读 · 0 评论 -
hive中分区表(partition table):动态分区(dynamic partition)和 静态分区(static partition)
一、基本概念 hive中分区表分为:范围分区、列表分区、hash分区、混合分区等。 分区列:分区列不是表中的一个实际的字段,而是一个或者多个伪列。翻译一下是:“在表的数据文件中实际上并不保存分区列的信息与数据”,这个概念十分重要,要记住,后面是经常用到。1.1 创建数据表 下面的语句创建了一个简单的分区表:复制代码create table partition_test(...转载 2019-01-14 12:27:06 · 3581 阅读 · 0 评论 -
hive-表生成函数
1.explode--1.直接使用explodehive (hive)> select * from person;OKperson.id person.name person.likes1 wang ["lol","data2"]2 tom ["跳槽"]3 Jack ["得分","阿斯蒂芬","大师傅"]4 jim ["登陆",&qu原创 2019-01-14 14:50:38 · 1082 阅读 · 0 评论 -
Hive性能调校
1. 设置hive.map.aggr=true,提高HiveQL聚合的执行性能。这个设置可以将顶层的聚合操作放在Map阶段执行,从而减轻清洗阶段数据传输和Reduce阶段的执行时间,提升总体性能。缺点:该设置会消耗更多的内存。注:顶层的聚合操作(top-levelaggregation operation),是指在group by语句之前执行的聚合操作。例如,hive&g...转载 2019-01-14 15:28:34 · 272 阅读 · 0 评论 -
hql优化(持续更新)
join的优化hive假定查询中的最后一个表是最大的表,在每次进行连接操作时,其会将其他表缓存起来,然后扫描最后那个进行计算,所有需要保证连续查找中表的大小按照从左到右依次增加。或者,使用 /*+STREAMTABLE(大表别名)*/,最大的表可以不放到最后面。注意,此处和关系型数据库的区别: 关系型数据库优化时,选择最有效率的表名顺序<查两张以上表时,把记录少的放在右边>...原创 2019-01-14 16:19:08 · 1674 阅读 · 0 评论 -
左半开连接(left semi join)
1.left semi join 子句中右边的表只能在 ON 子句中设置过滤条件,在 WHERE 子句、SELECT 子句或其他地方过滤都不行。例子: select * from person g left semi join exptest t on g.name = t.name where g.name='wang'; --语句可以查询,因为where g.name='wang'; ...原创 2019-01-14 17:03:36 · 5056 阅读 · 0 评论 -
hive索引
创建索引hive> create index [index_studentid] on table st(studentid) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild IN TABLE index_table_st;OK Time take...原创 2019-01-07 16:19:15 · 381 阅读 · 0 评论 -
[Hive]Lateral View使用指南
1. 语法 lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)* fromClause: FROM baseTable (lateralView)* 2. 描述Lateral View一般与用户自定义表生成函数(如explode())结合使用。 如内置表...转载 2019-01-08 18:45:00 · 296 阅读 · 0 评论 -
hive的优化(10点)
一、表链接优化1.将大表放最后Hive假定查询中最后一个表是大表,他会将其他表先缓存起来,然后扫描最后那个表。因此通常需要将小表放在前面,或者标记那张表是大表:/*streamtable(table_name)*/2.使用相同的链接键当对3个或者更多个表进行join连接时,如果每个on子句都是用相同的连接键的话,那么只会产生一个MapReduce job。3.尽量尽早地过滤...原创 2019-01-07 14:01:32 · 156 阅读 · 0 评论 -
hive的row_number() 功能
1、row_number() over()排序功能:(1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where group by order by 的执行。partition by 用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,它和聚合函数不同的地方...转载 2019-01-07 11:29:05 · 4254 阅读 · 0 评论 -
hive 自定义函数jar发布的方法
1. 使用add jar path/test.jar;方法加入该方法的缺点是每次启动Hive的时候都要从新加入,退出hive就会失效。2. 通过设置hive的配置文件hive-site.xml 加入在配置文件中增加配置<property><name>hive.aux.jars.path</name><value>file...原创 2019-01-07 11:16:08 · 1867 阅读 · 0 评论 -
hive和hbase数据相互关联
一.使用hive获取,HBASE中数据1.create 'hadoop:hbase_hive_human','info'2.造数put 'hadoop:hbase_hive_human','1','info:id','1'put 'hadoop:hbase_hive_human','1','info:name','wang'put 'hadoop:hbase_hive_human','...原创 2019-01-10 14:47:31 · 530 阅读 · 0 评论
分享