- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 Apache Sqoop是什么
Sqoop介绍Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具,Apache软件基金会提供。Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。Hadoop生态系统包括:HDFS、Hive、Hbase等RDBMS体系包括:Mysql、O...
2019-11-29 16:28:42 309
原创 Apache Sqoop的安装
Sqoop1.4.7安装官网地址https://sqoop.apache.org/下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/安装sqoop的前提是已经具备java和hadoop的环境。1,上传并解压2,配置文件修改:cd $SQOOP_HOME/confmv sqoop-env-template.sh ...
2019-11-29 16:28:09 130
原创 Hive 表的优化
表的优化JoinJoin原则:1)小表Join大表将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率;再进一步,可以使用Group让小的维度表(1000条以下的记录条数)先进内存。在map端完成reduce。select count(distinct s_id) from score;select count(s_id) from scor...
2019-11-28 22:10:05 344
原创 Hive 推测执行
推测执行在分布式集群环境下,因为程序Bug(包括Hadoop本身的bug),负载不均衡或者资源分布不均等原因,会造成同一个作业的多个任务之间运行速度不一致,有些任务的运行速度可能明显慢于其他任务(比如一个作业的某个任务进度只有50%,而其他所有任务已经运行完毕),则这些任务会拖慢作业的整体执行进度。为了避免这种情况发生,Hadoop采用了推测执行(Speculative Execution)机...
2019-11-28 21:56:17 484
原创 Hive JVM重用
JVM重用JVM重用是Hadoop调优参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。Hadoop的默认配置通常是使用派生JVM来执行map和Reduce任务的。这时JVM的启动过程可能会造成相当大的开销,尤其是执行的job包含有成百上千task任务的情况。JVM重用可以使得JVM实例在同一个job中重新使...
2019-11-28 21:53:29 865 1
原创 Hive 严格模式
严格模式Hive提供了一个严格模式,可以防止用户执行“高危”的查询。通过设置属性hive.mapred.mode值为默认是非严格模式nonstrict 。开启严格模式需要修改hive.mapred.mode值为strict,开启严格模式可以禁止3种类型的查询。<property> <name>hive.mapred.mode</name> ...
2019-11-28 21:43:15 177
原创 Hive 并行执行
Hive 并行执行Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不过,如果有更多的阶段...
2019-11-28 21:40:20 1434
原创 Hive 数据倾斜与Map个数与Reduce个数相关
Map数通常情况下,作业会通过input的目录产生一个或者多个map任务。主要的决定因素有:input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M,可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);举例:a)一个大文件: 假设input目录下有1个文件a,大小为780M,那么hadoop会将该文件a分隔成7个块(...
2019-11-28 21:37:21 389
原创 Hive 调优 分区裁剪、列裁剪
使用分区剪裁、列剪裁在SELECT中,只拿需要的列,如果有,尽量使用分区过滤,少用SELECT *。在分区剪裁中,当使用外关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤,比如:环境准备:create table ori(id bigint, time bigint, uid string, keyword string, url_rank int, clic...
2019-11-28 21:35:20 2279 2
原创 Hive 调优 动态分区调整
动态分区调整关系型数据库中,对分区表Insert数据时候,数据库自动会根据分区字段的值,将数据插入到相应的分区中。Hive中也提供了类似的机制,即动态分区(Dynamic Partition),只不过,使用Hive的动态分区,需要进行相应的配置。以第一个表的分区规则,来对应第二个表的分区规则,将第一个表的所有分区,全部拷贝到第二个表中来,第二个表在加载数据的时候,不需要指定分区了,直接用第一个...
2019-11-28 21:32:01 1216
原创 Hive 调优 Group By 、Count(distinct)、笛卡尔积
Group By默认情况下,Map阶段同一Key数据分发给一个reduce,当一个key数据过大时就倾斜了。并不是所有的聚合操作都需要在Reduce端完成,很多聚合操作都可以先在Map端进行部分聚合,最后在Reduce端得出最终结果。开启Map端聚合参数设置(1)是否在Map端进行聚合,默认为Trueset hive.map.aggr = true;(2)在Map端进行聚合操作的条目...
2019-11-28 21:30:57 1125 2
原创 Hive 调优 本地模式
本地模式本地模式就是不上传集群,在本节点上运行。大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。不过,有时Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务时消耗可能会比实际job的执行时间要多的多。对于大多数这种情况,Hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,使用本地模式执行时间可以明显被缩短。用户可以通过设...
2019-11-28 21:26:15 489
原创 Hive 调优 Fetch抓取
Fetch抓取Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是minimal,...
2019-11-28 21:22:54 194
原创 Hive ORC格式存储时压缩测试
存储和压缩结合官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORCORC存储方式的压缩:KeyDefaultNotesorc.compressZLIBhigh level compression (one of NONE, ZLIB, SNAPPY)orc.compress...
2019-11-28 21:14:24 1520 5
原创 Hive 数据存储格式
Hive数据存储格式Hive支持的存储数据的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。文章目录Hive数据存储格式列式存储和行式存储TEXTFILE格式ORC格式PARQUET格式主流文件存储格式对比实验TextFileORCParquet存储文件的压缩比总结:存储文件的查询速度测试:TextFileORC...
2019-11-28 20:59:37 334
原创 Hive 数据压缩
压缩格式 工具 算法 文件扩展名 是否可切分DEFAULT 无 DEFAULT .deflate 否Gzip gzip DEFAULT .gz 否bzip2 bzip2 bzip2 .bz2 是LZO lzop LZO .lzo 否LZ4 无 LZ4 .lz4 否Snappy 无 Snappy .snappy 否...
2019-11-28 20:29:28 259
原创 Reduce端实现Join算法
Reduce端实现Join算法数据链接:https://pan.baidu.com/s/1DAXmP9cskwXB5uNSA0bugA提取码:2zn8order.txt格式:日期\t商品id\t下单日期2019-11-11 200300500 2019111101012019-11-11 200300505 2019111101022019-11-11 200300550 201...
2019-11-28 10:14:38 247
原创 Map端实现Join算法
Map端实现Join算法数据链接:https://pan.baidu.com/s/1DAXmP9cskwXB5uNSA0bugA提取码:2zn8order.txt格式:日期\t商品id\t下单日期2019-11-11 200300500 2019111101012019-11-11 200300505 2019111101022019-11-11 200300550 201911...
2019-11-28 08:31:05 505
原创 MapReduce 参数优化
MapReduce重要配置参数1 资源相关参数以下调整参数都在mapred-site.xml这个配置文件当中有//以下参数是在用户自己的mr应用程序中配置就可以生效(1) mapreduce.map.memory.mb: 一个Map Task可使用的资源上限(单位:MB),默认为1024。如果Map Task实际使用的资源量超过该值,则会被强制杀死。(2) mapreduce.red...
2019-11-26 08:06:26 291 1
原创 MapReduce 多job串联
一个稍复杂点的处理逻辑往往需要多个mapreduce程序串联处理,多job的串联可以借助mapreduce框架的JobControl实现示例代码: ControlledJob cJob1 = new ControlledJob(job1.getConfiguration()); ControlledJob cJob2 = new ControlledJob(job2.get...
2019-11-26 07:59:56 279
原创 Hive 基础知识中的重点
前言马上就要第三次月考,其中五颗星星的是必考内容少于5颗为可能考的内容,星星越多几率越大。Hive 自定义函数 Reflect版★★★任意编写java类package com.czxy.demo01;public class Test { public static String getStr(String str){ return str+"123"; ...
2019-11-25 17:40:13 283
原创 MapReduce综合练习题(3)倒排索引建立
需求分析需求:有大量的文本(文档、网页),需要建立搜索索引思路分析:首选将文档的内容全部读取出来,加上文档的名字作为key,文档的value为1,组织成这样的一种形式的数据map端数据输出hello-a.txt 1hello-a.txt 1hello-a.txt 1reduce端数据输出hello-a.txt 3Java代码实现package com.czxy.day201...
2019-11-25 09:42:15 455
原创 MapReduce综合练习题(2)社交粉丝数据分析
数据准备以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的)A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J把数据...
2019-11-22 21:33:32 648
原创 Hive 自定义函数 Reflect版
开idea写如下代码进行测试:package com.czxy.demo01;public class Test { public static String getStr(String str){ return str+"123"; }}把代码打成jar包上传到虚拟机任意位置[root@hadoop01 ~]# cd /home[root...
2019-11-21 20:22:59 217
原创 Hive 自定义函数UDF版
Hive自定义函数Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。当Hive提供的内置函数无法满足你的业务处理需要时,就可以考虑使用用户自定义函数(UDF:user-defined function)。根据用户自定义函数类别分为以下三种:(1)UDF(User-Defined-Function)一进一出(2)UDAF(User-De...
2019-11-21 18:07:28 168
原创 Hive 内置函数
内置函数内容较多,见《Hive官方文档》https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1)查看系统自带的函数hive> show functions;hive (default)> show functions;OKtab_name!!=%&*+-/<...
2019-11-21 15:03:33 156
原创 Hive 参数配置
Hive 参数配置官方文档:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties开发Hive应用时,不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率,或帮助定位问题。然而实践中经常遇到的一个问题是,为什么设定的参数没有起作用?这通常是错误的设定方式导致的。对于一般参...
2019-11-21 14:29:23 270
原创 Hive 查询语法★★★
文章目录SELECT基本的Select操作全表查询选择特定列查询列别名常用函数求总行数(count)求分数的最大值(max)求分数的最小值(min)求分数的总和(sum)求分数的平均值(avg)LIMIT语句WHERE语句比较运算符(BETWEEN/IN/ IS NULL)LIKE和RLIKE逻辑运算符(AND/OR/NOT)分组GROUP BY语句HAVING语句JOIN语句等值JOIN表的别名...
2019-11-21 08:30:18 465
原创 Hive 表的数据导出
文章目录Hive:表的数据导出insert overwrite导出Hadoop命令导出到本地hive shell 命令导出export导出到HDFS上sqoop导出Hive:表的数据导出将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等insert overwrite导出1)将查询的结果导出到本地insert overwrite local ...
2019-11-20 20:51:40 300
原创 Hive 表的数据加载
文章目录hive表中加载数据直接向分区表中插入数据通过查询插入数据多插入模式查询语句中创建表并加载数据(as select)创建表时通过location指定加载数据路径hive表中加载数据准备数据:链接:https://pan.baidu.com/s/1e5Zcrefs_UgIjAvaCjuAYg提取码:njk8直接向分区表中插入数据create table score3 like s...
2019-11-20 20:07:03 392
原创 Hive 表的修改和删除
表重命名基本语法:alter table old_table_name rename to new_table_name;把表score4修改成score5alter table score4 rename to score5;hive (myhive)> show tables;OKtab_namecoursecourse_commonscorescor...
2019-11-20 17:05:24 977
原创 Hive 分桶表
分桶表将数据按照指定的字段进行分成多个桶中去,说白了就是将数据按照字段进行划分,可以将数据按照字段划分到多个文件当中去开启hive的桶表功能set hive.enforce.bucketing=true;设置reduce的个数(相当于创建)set mapreduce.job.reduces=3;创建桶表create table course (c_id string,c_name...
2019-11-20 16:49:20 193
原创 Hive 分区表
分区表在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天,或者每小时进行切分成一个个的小的文件,这样去操作小的文件就会容易得多了创建分区表语法create table score(s_id string,c_id string, s_score...
2019-11-20 16:34:22 273
原创 Hive 外部表
外部表:外部表说明:外部表因为是指定其他的hdfs路径的数据加载到表当中来,所以hive表会认为自己不完全独占这份数据,所以删除hive表的时候,数据仍然存放在hdfs当中,不会删掉管理表和外部表的使用场景:每天将收集到的网站日志定期流入HDFS文本文件。在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储,数据通过SELECT+INSERT进入内部表。操作...
2019-11-20 15:19:20 590 1
原创 Hive的基本操作
Hive基本操作首先,hive一下,进入交互式hive[root@hadoop01 sbin]# hivewhich: no hbase in (/usr/lib64/qt-3.3/bin::/export/servers/hive-1.1.0-cdh5.14.0//bin::/export/servers/hadoop-2.6.0-cdh5.14.0/bin:/export/servers...
2019-11-20 14:45:16 523
原创 Hive的三种使用方式
1.6.2 使用方式第一种交互方式:Hive交互shellcd /export/servers/hive-1.1.0-cdh5.14.0bin/hive查看所有的数据库hive (default)> show databases;创建一个数据库hive (default)> create database myhive;使用该数据库并创建数据库表hive (defau...
2019-11-20 09:38:13 728
原创 面试时,你的优点和缺点?
你的优点勤劳朴素吃苦耐劳专业基本功扎实具有良好的知识基础具有很强的进取精神和良好的开拓创新意识办事讲究效率干事干净利落做事坚决果断具有很强的团结协作意识和沟通能力考虑问题周全细致想问题思路清晰做事有条不紊学习能力强,能通过各种途径充实自己做事善始善终敢于挑战自我面对困难有迎难而上的勇气良好的身体素质和良好的生活习惯心地善良,乐于助人责任心强,爱岗敬业具有大局...
2019-11-19 21:47:09 1551
原创 MapReduce 自定义OutputFormat 实现多路径输出
自定义outputFormat需求现在有一些订单的评论数据,需求,将订单的好评与差评进行区分开来,将最终的数据分开到不同的文件夹下面去,数据内容参见资料文件夹,其中数据第九个字段表示好评,中评,差评。0:好评,1:中评,2:差评分析程序的关键点是要在一个mapreduce程序中根据数据的不同输出两类结果到不同目录,这类灵活的输出需求可以通过自定义outputformat来实现实现实现要...
2019-11-19 21:38:22 478
人类通用语言算法01:得到字符串字符的所有不重复组合
2018-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人