大数据
follweme888
这个作者很懒,什么都没留下…
展开
-
大数据
1、大数据流程图2、大数据各个环节主要技术2.1、数据处理主要技术 Sqoop:(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中,也可以将HDFS中的数据导入关系型数据库中。Flume:实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的、高可靠、分布式的海量日志采集、聚合和传输的系统。目前已经是Apache的顶级子项目。使转载 2020-06-26 02:28:41 · 608 阅读 · 0 评论 -
hive优化
1.1 hive的特征:可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析;它可以使已经存储的数据结构化;可以直接访问存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件;Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎;它提供类似sql的查询语句HiveQL对数据进行分析处理;数据的存储格式有多种,比如数据源是二进制格式,普通文本格式等等;1.2 hive的优势: h转载 2020-06-26 00:04:26 · 206 阅读 · 0 评论 -
Hive数据倾斜解决方法总结
Hive数据倾斜解决方法总结数据倾斜是进行大数据计算时最经常遇到的问题之一。当我们在执行HiveQL或者运行MapReduce作业时候,如果遇到一直卡在map100%,reduce99%一般就是遇到了数据倾斜的问题。数据倾斜其实是进行分布式计算的时候,某些节点的计算能力比较强或者需要计算的数据比较少,早早执行完了,某些节点计算的能力较差或者由于此节点需要计算的数据比较多,导致出现其他节点的reduce阶段任务执行完成,但是这种节点的数据处理任务还没有执行完成。在hive中产生数据倾斜的原因和解决方法:转载 2020-06-25 22:58:50 · 457 阅读 · 0 评论 -
hive性能优化
1.概述 继续《那些年使用Hive踩过的坑》一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。sum,count,max,min等U转载 2020-06-25 22:11:44 · 164 阅读 · 0 评论 -
HIVE的执行顺序
hive语句执行顺序msyql语句执行顺序代码写的顺序:select ... from... where.... group by... having......转载 2020-06-25 21:18:56 · 2601 阅读 · 0 评论 -
查看Hql执行计划及关键步骤说明
1、查看执行计划方法语法:explain [extended] Hiveql;/*例子:*/explain select count(distinct mo...转载 2020-06-25 21:10:29 · 684 阅读 · 0 评论 -
hive sql调优
hive SQL调优1.尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段2.尽量原子化操作,尽量避免一个SQL包含复杂逻辑, 可以使用中间表来完成复杂的逻辑3.小表要注意放在join的左边(目前TCL里面很多都小表放在join的右边。否则会引起磁盘和内存的大量消耗4.如果union all的部分个数大于2,或者每个union部分数据量大,应该拆成多个insert into 语句,实际测试过程中,执行时间能提升50%5.写SQL要先了解数据本身的特点,如果有j转载 2020-06-25 15:17:06 · 292 阅读 · 0 评论 -
Hive SQL调优总结
这里只是总结了一下HQL上面的一些优化点,并不考虑Hadoop层面的参数、配置优化目录Hive SQL调优总结目录使用分区剪裁、列剪裁少用count(distinct)多对多的关联合理使用MapJoin合理使用Union ALL并行执行job使用本地MR合理使用动态分区避免数据倾斜控制Map数和Reduce数中间结果压缩其他使用分区剪裁、列剪裁意思是,在select中,只拿需要的列,如果有,尽量使用分区过滤,少使用select *另外在分区裁剪中,当使转载 2020-06-25 15:14:53 · 351 阅读 · 0 评论 -
Hive调优策略——Fetch抓取 & 表的各种优化策略(mapjoin原理)
总结一下工作中常用的hive调优策略目录1. Fetch抓取2. 小表Join大表(mapjoin的原理)3. 大表Join大表(0)前提:配置历史服务器(1)空key过滤(2)空key转换(将空值key转换为其他随机数,避免数据倾斜)4. Group By发生数据倾斜5. Coun...转载 2020-06-25 15:01:04 · 288 阅读 · 0 评论 -
MapReduce实现SQL的操作原理
本来想讲一下hive的一条SQL怎么转换成MapReduce的,但是想了一下还是先讲讲一条SQL语句怎么用MapReduce来执行join的实现原理select ply.policy_date,sale.ply_sale_name from ply_base_info ply join ply_sale sale on ply.policy_no=sale.policy_no1在map的输出value中为不同表的数据打上tag标记,在reduce阶段根据tag判断数据来源。MapReduce的过程如.转载 2020-06-25 14:55:13 · 159 阅读 · 0 评论 -
apReduce:详解Shuffle过程
MapReduce:详解Shuffle过程 ...转载 2020-06-24 02:23:45 · 256 阅读 · 0 评论 -
MapReduce详解之shuffle阶段
MapReduce详解之shuffle阶段(看图理解):Mapreduce的过程整体上分为四个阶段:InputFormat MapTask ReduceTask OutPutFormat 当然中间还有shuffle阶段InputFormat:我们通过在runner类中用 job.setInputPaths 或者是addInputPath添加输入文件或者是目录(这两者是...转载 2020-06-24 02:12:52 · 1042 阅读 · 0 评论 -
MapReduce详解(MR运行全流程,shuffle,分区,分片)
文章目录本文行文逻辑MapReduce程序详解(即map中,reduce中)map前,reduce后详解分片详解什么是分片?为何要分片?分片大小计算?分片的读取规...转载 2020-06-24 02:02:32 · 1190 阅读 · 0 评论 -
shuffle过程详解
shuffle过程shuffle概念shuffle的本意是洗牌、混洗的意思,把一组有规则的数据尽量打乱成无规则的数据。而在MapReduce中,shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规则“打乱”成具有一定规则的数据,以便reduce端接收处理。其在MapReduce中所处的工作阶段是map输出后到re...转载 2020-06-22 21:15:32 · 7230 阅读 · 0 评论 -
mapreduce中MAP数量
一、果断先上结论1.如果想增加map个数,则设置mapred.map.tasks 为一个较大的值。2.如果想减小map个数,则设置mapred.min.split.size 为一个较大的值。3.如果输入中有很多小文件,依然想减少map个数,则需要将小文件merger为大文件,然后使用准则2。二、原理与分析过程看了很多博客,感觉没有一个说的很清楚,所以我来整理一下。输入分片(Input Split):在进行map...转载 2020-06-22 21:05:26 · 709 阅读 · 0 评论 -
MapReduce实现WordCount
MapReduce实现WordCount1、spliting :Documents会根据切割规则被切成若干块,2、map阶段:然后进行Map过程,Map会并...转载 2020-06-22 20:57:20 · 208 阅读 · 0 评论 -
MapReduce排序过程详解
Hadoop、Spark等分布式数据处理框架在宣传自己的性能时大都以排序效果来做比较,各种类别的Sort Benchmark已成为行业基准测试。之所以选择排序是因为排序的核心是shuffle操作,数据的传输会横跨集群中所有主机,Shuffle基本支持了所有的分布式数据处理负载。下面就来详细分析一下使用mapreduce实现排序的基本过程...转载 2020-06-19 17:14:11 · 1127 阅读 · 0 评论 -
MapReduce中各个阶段的分析(转自道法—自然老师)
MapReduce中各个阶段的分析:在MapReduce的各个阶段:在文件被读入的时候调用的是Inputformat方法读入的。inputformat——>recordreader——>read(一行) 。在这里读入一行,返回的是(k,v)的形式,key是行号的偏移量,value的值是这一行的内容。在上述的...转载 2020-06-19 14:36:12 · 235 阅读 · 0 评论