![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
智能大数据体系
业务闭环 + 产品闭环 + AI智能驱动
鞋子不会飞
突破认识看世界
展开
-
sqoop执行一次操作eval
sqoop eval -D oozie.job.id=$wf_job_id \ -D mapred.job.queue.name=$mapred_job_queue_name \ --connect $data_db_url \ --username $data_db_username原创 2020-06-14 16:51:02 · 635 阅读 · 1 评论 -
服务器间免密登录原理
服务器间免密登录原理SSH无密登录配置配置ssh(1)基本语法ssh另一台电脑的ip地址(2)ssh连接时出现Host key verification failed的解决方法[atguigu@hadoop102 opt] $ ssh 192.168.1.103The authenticity of host ‘192.168.1.103 (192.168.1.103)’ can...原创 2019-11-18 22:33:38 · 582 阅读 · 0 评论 -
Sqoop一些常用命令及参数)
Sqoop一些常用命令及参数https://blog.csdn.net/qq_43265673/article/details/100586951原创 2019-11-12 23:14:46 · 300 阅读 · 0 评论 -
Sqoop的简单使用案例(第4章)之Sqoop脚本打包
Sqoop的简单使用案例(第4章)之Sqoop脚本打包使用opt格式的文件打包sqoop命令,然后执行创建一个.opt文件$ mkdir opt$ touch opt/job_HDFS2RDBMS.opt编写sqoop脚本$ vi opt/job_HDFS2RDBMS.optexport--connectjdbc:mysql://hadoop102:3306/com...原创 2019-11-12 22:58:22 · 161 阅读 · 0 评论 -
Sqoop的简单使用案例(第4章)之导出数据
Sqoop的简单使用案例(第4章)之导出数据在Sqoop中,“导出”概念指:从大数据集群(HDFS,HIVE,HBASE)向非大数据集群(RDBMS)中传输数据,叫做:导出,即使用export关键字。4.2.1 HIVE/HDFS到RDBMS$ bin/sqoop export \--connect jdbc:mysql://hadoop102:3306/company \--use...原创 2019-11-12 22:51:59 · 119 阅读 · 0 评论 -
Sqoop的简单使用案例(第4章)之导入数据
Sqoop的简单使用案例(第4章)之导入数据4.1 导入数据在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。4.1.1 RDBMS到HDFS确定Mysql服务开启正常在Mysql中新建一张表并插入一些数据$ mysql -uroot -p000000mysql> ...原创 2019-11-12 22:47:38 · 169 阅读 · 0 评论 -
Sqoop安装(第3章)
Sqoop安装(第3章)安装Sqoop的前提是已经具备Java和Hadoop的环境。3.1 下载并解压下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中解压sqoop安装包到指定目录,如:$ tar -zxf sqoop-1...原创 2019-11-12 22:37:45 · 106 阅读 · 0 评论 -
Sqoop简介及原理(第1,2章)
第1章 Sqoop简介Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存...原创 2019-11-12 22:28:05 · 143 阅读 · 0 评论 -
(第九章) Hive企业级优化之执行计划(Explain)
Hive企业级优化之执行计划(Explain)1.基本语法EXPLAIN [EXTENDED | DEPENDENCY | AUTHORIZATION] query2.案例实操(1)查看下面这条语句的执行计划hive (default)> explain select * from emp;hive (default)> explain select deptno, av...原创 2019-11-08 00:11:09 · 133 阅读 · 0 评论 -
(第九章) Hive企业级优化之推测执行
Hive企业级优化之推测执行在分布式集群环境下,因为程序Bug(包括Hadoop本身的bug),负载不均衡或者资源分布不均等原因,会造成同一个作业的多个任务之间运行速度不一致,有些任务的运行速度可能明显慢于其他任务(比如一个作业的某个任务进度只有50%,而其他所有任务已经运行完毕),则这些任务会拖慢作业的整体执行进度。为了避免这种情况发生,Hadoop采用了推测执行(Speculative E...原创 2019-11-08 00:00:30 · 95 阅读 · 0 评论 -
(第九章) Hive企业级优化之JVM重用
Hive企业级优化之JVM重用JVM重用是Hadoop调优参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。Hadoop的默认配置通常是使用派生JVM来执行map和Reduce任务的。这时JVM的启动过程可能会造成相当大的开销,尤其是执行的job包含有成百上千task任务的情况。JVM重用可以使得JVM实例在同...原创 2019-11-07 23:57:42 · 121 阅读 · 0 评论 -
(第九章) Hive企业级优化之严格模式
Hive企业级优化之严格模式Hive提供了一个严格模式,可以防止用户执行那些可能意想不到的不好的影响的查询。通过设置属性hive.mapred.mode值为默认是非严格模式nonstrict 。开启严格模式需要修改hive.mapred.mode值为strict,开启严格模式可以禁止3种类型的查询。<property> <name>hive.mapred.m...原创 2019-11-07 23:54:10 · 88 阅读 · 0 评论 -
(第九章) Hive企业级优化之并行执行
Hive企业级优化之并行执行Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不过,如果有更多...原创 2019-11-07 23:51:21 · 136 阅读 · 0 评论 -
(第九章) Hive企业级优化之数据倾斜
Hive企业级优化之数据倾斜9.4.1 合理设置Map数1)通常情况下,作业会通过input的目录产生一个或者多个map任务。主要的决定因素有:input的文件总个数,input的文件大小,集群设置的文件块大小。2)是不是map数越多越好?答案是否定的。如果一个任务有很多小文件(远远小于块大小128m),则每个小文件也会被当做一个块,用一个map任务来完成,而一个map任务启动和初始化...原创 2019-11-07 23:49:01 · 92 阅读 · 0 评论 -
(第九章) Hive企业级调优之动态分区调整
Hive企业级调优之动态分区调整关系型数据库中,对分区表Insert数据时候,数据库自动会根据分区字段的值,将数据插入到相应的分区中,Hive中也提供了类似的机制,即动态分区(Dynamic Partition),只不过,使用Hive的动态分区,需要进行相应的配置。1.开启动态分区参数设置(1)开启动态分区功能(默认true,开启)hive.exec.dynamic.partition=...原创 2019-11-07 23:38:23 · 96 阅读 · 0 评论 -
(第九章) Hive企业级调优之行列过滤
Hive企业级调优之行列过滤列处理:在SELECT中,只拿需要的列,如果有,尽量使用分区过滤,少用SELECT *。行处理:在分区剪裁中,当使用外关联时,如果将副表的过滤条件写在Where后面,那么就会先全表关联,之后再过滤,比如:案例实操:1.测试先关联两张表,再用where条件过滤hive (default)> select o.id from bigtable bjoin...原创 2019-11-07 23:32:06 · 270 阅读 · 0 评论 -
(第九章) Hive企业级调优之Count(Distinct) 去重统计
Hive企业级调优之Count(Distinct) 去重统计数据量小的时候无所谓,数据量大的情况下,由于COUNT DISTINCT操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成,一般COUNT DISTINCT使用先GROUP BY再COUNT的方式替换:案例实操1.创建一张大表hive (default)> cre...原创 2019-11-07 23:27:57 · 349 阅读 · 0 评论 -
(第九章) Hive企业级调优之Group By
Hive企业级调优之Group By默认情况下,Map阶段同一Key数据分发给一个reduce,当一个key数据过大时就倾斜了。并不是所有的聚合操作都需要在Reduce端完成,很多聚合操作都可以先在Map端进行部分聚合,最后在Reduce端得出最终结果。1.开启Map端聚合参数设置(1)是否在Map端进行聚合,默认为Truehive.map.aggr = true(2)在Map端进...原创 2019-11-07 23:18:54 · 182 阅读 · 1 评论 -
(第九章) Hive企业级调优之MapJoin
Hive企业级调优之MapJoin如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join。容易发生数据倾斜。可以用MapJoin把小表全部加载到内存在map端进行join,避免reducer处理。1.开启MapJoin参数设置(1)设置自动选择Mapjoinset hive.auto.co...原创 2019-11-07 23:13:58 · 166 阅读 · 0 评论 -
(第九章) Hive企业级调优之大表 Join 大表
Hive企业级调优之大表 Join 大表1.空KEY过滤有时join超时是因为某些key对应的数据太多,而相同key对应的数据都会发送到相同的reducer上,从而导致内存不够。此时我们应该仔细分析这些异常的key,很多情况下,这些key对应的数据是异常数据,我们需要在SQL语句中进行过滤。例如key对应的字段为空,操作如下:案例实操(1)配置历史服务器配置mapred-site.xm...原创 2019-11-07 23:03:59 · 718 阅读 · 0 评论 -
(第九章) Hive企业级调优之小表、大表Join
Hive企业级调优之小表、大表Join将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率;再进一步,可以使用map join让小的维度表(1000条以下的记录条数)先进内存。在map端完成reduce。实际测试发现:新版的hive已经对小表JOIN大表和大表JOIN小表进行了优化。小表放在左边和右边已经没有明显区别。案例实操1.需求测试大表JO...原创 2019-11-07 22:59:51 · 451 阅读 · 0 评论 -
(第九章) Hive企业级调优之本地模式
Hive企业级调优之本地模式大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。不过,有时Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务消耗的时间可能会比实际job的执行时间要多的多。对于大多数这种情况,Hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间可以明显被缩短。用户可以通过设置hive.exec.mode.lo...原创 2019-11-07 22:51:12 · 145 阅读 · 0 评论 -
(第九章) Hive企业级调优之Fetch抓取
Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默...原创 2019-11-07 22:45:57 · 266 阅读 · 0 评论 -
(第八章) Hive存储和压缩结合
Hive存储和压缩结合8.6.1 修改Hadoop集群具有Snappy压缩方式1.查看hadoop checknative命令使用[wyh@hadoop104 hadoop-2.7.2]$ hadoop checknative [-a|-h] check native hadoop and compression libraries availability2.查看hadoo...原创 2019-11-07 22:31:21 · 120 阅读 · 0 评论 -
(第八章) Hive压缩和存储之文件存储格式
Hive文件存储格式Hive支持的存储数的格式主要有:TEXTFILE 、SEQUENCEFILE、ORC、PARQUET。8.5.1 列式存储和行式存储1.行存储的特点查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。2.列存储的特点因为每个字段的数据聚集存储,在查询...原创 2019-11-07 22:21:08 · 89 阅读 · 0 评论 -
(第八章) Hive压缩和存储之开启Reduce输出阶段压缩
开启Reduce输出阶段压缩当Hive将输出写入到表中时,输出内容同样可以进行压缩。属性hive.exec.compress.output控制着这个功能。用户可能需要保持默认设置文件中的默认值false,这样默认的输出就是非压缩的纯文本文件了。用户可以通过在查询语句或执行脚本中设置这个值为true,来开启输出结果压缩功能。案例实操:1.开启hive最终输出数据压缩功能hive (defa...原创 2019-11-07 22:01:01 · 200 阅读 · 0 评论 -
(第八章) Hive压缩和存储之开启Map输出阶段压缩
开启Map输出阶段压缩开启map输出阶段压缩可以减少job中map和Reduce task间数据传输量。具体配置如下:案例实操:1.开启hive中间传输数据压缩功能hive (default)>set hive.exec.compress.intermediate=true;2.开启mapreduce中map输出压缩功能hive (default)>set mapred...原创 2019-11-07 21:58:09 · 187 阅读 · 0 评论 -
(第八章) Hive压缩和存储之Hadoop压缩配置
Hadoop压缩配置8.2.1 MR支持的压缩编码为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器,如下表所示:压缩性能的比较:http://google.github.io/snappy/On a single core of a Core i7 processor in 64-bit mode, Snappy compresses at about 250 MB/...原创 2019-11-07 21:46:09 · 134 阅读 · 0 评论 -
(第八章) Hive压缩和存储之Hadoop源码编译支持Snappy压缩
Hadoop源码编译支持Snappy压缩8.1.1 资源准备1.CentOS联网配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的注意:采用root角色编译,减少文件夹权限出现问题2.jar包准备(hadoop源码、JDK8 、maven、protobuf)(1)hadoop-2.7.2-src.tar.gz(2)jdk-8u144-linu...原创 2019-11-07 21:26:37 · 166 阅读 · 0 评论 -
(第二章) Hive安装之Hive常见属性配置
Hive常见属性配置2.9.1 Hive数据仓库位置配置1)Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路径下。2)在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。3)修改default数据仓库原始位置(将hive-default.xml.template如下...原创 2019-11-06 23:22:45 · 144 阅读 · 0 评论 -
(第二章) HIve安装之Hive其他命令操作
Hive其他命令操作1.退出hive窗口:hive(default)>exit;hive(default)>quit;在新版的hive中没区别了,在以前的版本是有的:exit:先隐性提交数据,再退出;quit:不提交数据,退出;2.在hive cli命令窗口中如何查看hdfs文件系统hive(default)>dfs -ls /;3.在hive cli命令...原创 2019-11-06 23:14:34 · 171 阅读 · 0 评论 -
(第二章) HIve安装之Hive常用交互命令
Hive常用交互命令[wyh@hadoop102 hive]$ bin/hive -helpusage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B or --...原创 2019-11-06 23:10:51 · 149 阅读 · 0 评论 -
(第二章) HIve安装之HiveJDBC访问
HiveJDBC访问2.6.1 启动hiveserver2服务[wyh@hadoop102 hive]$ bin/hiveserver22.6.2 启动beeline[wyh@hadoop102 hive]$ bin/beelineBeeline version 1.2.1 by Apache Hivebeeline>2.6.3 连接hiveserver2beeline...原创 2019-11-06 23:06:07 · 158 阅读 · 0 评论 -
(第二章) HIve安装之Hive元数据配置到MySql
Hive元数据配置到MySql2.5.1 驱动拷贝1.在/opt/software/mysql-libs目录下解压mysql-connector-java-5.1.27.tar.gz驱动包[root@hadoop102 mysql-libs]# tar -zxvf mysql-connector-java-5.1.27.tar.gz2.拷贝/opt/software/mysql-lib...原创 2019-11-06 22:46:36 · 163 阅读 · 0 评论 -
(第二章) HIve安装之MySql安装
HIve安装之MySql安装2.4.1 安装包准备1.查看mysql是否安装,如果安装了,卸载mysql(1)查看[root@hadoop102 桌面]# rpm -qa|grep mysqlmysql-libs-5.1.73-7.el6.x86_64(2)卸载[root@hadoop102 桌面]# rpm -e --nodeps mysql-libs-5.1.73-7.el...原创 2019-11-06 22:40:01 · 115 阅读 · 0 评论 -
(第二章) Hive安装之将本地文件导入Hive案例
将本地文件导入Hive案例需求将本地/opt/module/datas/student.txt这个目录下的数据导入到hive的student(id int, name string)表中。1.数据准备在/opt/module/datas这个目录下准备数据(1)在/opt/module/目录下创建datas[wyh@hadoop102 module]$ mkdir datas(2...原创 2019-11-06 22:27:45 · 329 阅读 · 0 评论 -
(第二章) hive安装之Hive安装部署
Hive安装部署1.Hive安装及配置(1)把apache-hive-1.2.1-bin.tar.gz上传到linux的/opt/software目录下(2)解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面[wyh@hadoop102 software]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /...原创 2019-11-06 22:21:45 · 253 阅读 · 0 评论 -
Apache软件基础发行目录
Apache软件基础发行目录http://archive.apache.org/dist原创 2019-11-06 22:11:38 · 103 阅读 · 0 评论 -
(第二章) HIve安装之Hive安装地址
Hive安装地址1.Hive官网地址http://hive.apache.org/2.文档查看地址https://cwiki.apache.org/confluence/display/Hive/GettingStarted3.下载地址http://archive.apache.org/dist/hive/4.github地址https://github.com/apache/h...原创 2019-11-06 22:05:08 · 235 阅读 · 0 评论 -
(第一章) HIve入门之Hive和数据库比较
Hive和数据库比较由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online 的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive...原创 2019-11-06 21:59:00 · 137 阅读 · 0 评论