hadoop
散_步
但行好事,莫问前程
展开
-
Apache Sqoop
sqoop 介绍:Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。来自于Apache软件基金会提供。Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。Hadoop生态系统包括:HDFS、Hive、Hbase等RDBMS体系包括...原创 2020-04-29 18:39:49 · 530 阅读 · 0 评论 -
Impala-shell命令参数
impala-shell外部命令:所谓的外部命令指的是不需要进入到impala-shell交互命令行当中即可执行的命令参数。impala-shell后面执行的时候可以带很多参数。你可以在启动 impala-shell 时设置,用于修改命令执行环境。impala-shell –h可以帮助我们查看帮助手册。也可以参考课程附件资料。比如几个常见的:impala-shell –r刷新imp...原创 2020-04-29 16:56:09 · 4017 阅读 · 0 评论 -
Impala安装部署
安装前提:集群提前安装好hadoop,hive。hive安装包scp在所有需要安装impala的节点上,因为impala需要引用hive的依赖包。hadoop框架需要支持C程序访问接口,查看下图,如果有该路径下有这么文件,就证明支持C接口。下载安装包,依赖包:由于impala没有提供tar包进行安装,只提供了rpm包。因此在安装impala的时候,需要使用rpm包来进行安装。r...原创 2020-04-28 12:04:50 · 559 阅读 · 0 评论 -
Yarn资源调度
yarn的介绍:yarn是hadoop集群当中的资源管理系统模块,从hadoop2.0开始引入yarn模块,yarn可为各类计算框架提供资源的管理和调度,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU,内存,磁盘,网络IO等)以及调度运行在yarn上面的各种任务。yarn核心出发点事为了分离资源管理与作业监控,实现分离的做法是拥有一个全局的资源管理(ResourceMan...原创 2020-03-23 16:49:43 · 285 阅读 · 0 评论 -
自定义分组求取topN
分组是mapreduce当中reduce端的一个功能组件,主要的作用是决定哪些数据作为一组,调用一次reduce的逻辑,默认是每个不同的key,作为多个不同的组,每个组调用一次reduce逻辑,我们可以自定义分组实现不同的key作为同一个组,调用一次reduce逻辑3.2 分析1、利用“订单id和成交金额”作为key,可以将map阶段读取到的所有订单数据按照id分区,按照金额排序,发送...原创 2020-03-21 21:15:41 · 501 阅读 · 0 评论 -
自定义InputFormat合并小文件
无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案1.2 分析小文件的优化无非以下几种方式:1、 在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS2、 在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并3、 在mapreduce处理时,可采用combineInputFormat提高...原创 2020-03-21 19:22:19 · 151 阅读 · 0 评论 -
需求案例:求共同好友
以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的)A:B,C,D,F,E,OB:A,C,E,KC:A,B,D,E,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求出哪些人...原创 2020-03-19 18:25:38 · 376 阅读 · 0 评论 -
案例:Reduce端实现Join
通过将关联的条件作为map输出的key,将两表满足join条件的数据并携带数据所来源的文件信息,发往同一个reduce task,在reduce中进行数据的串联Step 1: 定义 Mapper:package com.hadoop;import org.apache.hadoop.io.LongWritable;import org.apach...原创 2020-03-17 18:14:25 · 292 阅读 · 0 评论 -
MapReduce的运行机制详解
MapTask的运行机制:简单概述:inputFile通过split被逻辑切分为多个split文件,通过Record按行读取内容给map(用户自己实现的)进行处理,数据被map处理结束之后交给OutputCollector收集器,对其结果key进行分区(默认使用hash分区),然后写入buwer,每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区快满的时候需要将缓冲...原创 2020-03-16 22:42:04 · 873 阅读 · 0 评论 -
MapReduce案例-流量统计
需求一:统计求和统计每个手机号的上行数据包总和,下行数据包总和,上行总流量之和,下行总流量之和 分析:以手机号码作为key值,上行流量,下行流量,上行总流量,下行总流量四个字段作为value值,然后以这个key,和value作为map阶段的输出,reduce阶段的输入Step1:自定义map的输出对象FlowBeanpackage com.mapreduce.flow_...原创 2020-03-12 17:43:31 · 2192 阅读 · 0 评论 -
MapReduce 排序和序列化、规约
序列化 (Serialization) 是指把结构化对象转化为字节流反序列化 (Deserialization) 是序列化的逆过程. 把字节流转为结构化对象. 当要在进程间传递对象或持久化对象的时候, 就需要序列化对象成字节流, 反之当要将接收到或从磁盘读取的字节流转换为对象, 就要进行反序列化Java 的序列化 (Serializable) 是一个重量级序列化框架, 一个对象被序列化后, ...原创 2020-03-10 15:39:29 · 174 阅读 · 0 评论 -
Hadoop-Mapreduce
MapReduce介绍:MapReduce思想在生活中处处可见,或多或少都曾接触过这种思想。Mapreduce的思想核心是分而治之,使用于大量复杂的任务处理场景(大规模数据处理场景)。 Map复杂分,即把复杂的任务分解为若干个简单的任务,来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。 Reduce负责合,即对ma...原创 2020-03-03 13:02:04 · 242 阅读 · 0 评论 -
Hadoop的联邦机制
单NameNode的架构使得HDFS在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode进程使用的内存可能会达到上百G,NameNode成为了性能的瓶颈。因而提出了namenode水平扩展方案-- Federation。Federation中文意思为联邦,联盟,是NameNode的Federation,也就是会有多个NameNode。多个NameNode的情况意味着有...原创 2020-03-03 10:49:36 · 1367 阅读 · 0 评论 -
HDFS的API操作
配置windows下Hadoop环境在windows系统需要配置hadoop运行环境,否则直接运行代码会出现以下问题:缺少winutils.exeCould not locate executable null \bin\winutils.exe in the hadoop binaries缺少hadoop.dllUnable to load native-hadoop ...原创 2020-03-02 10:49:23 · 234 阅读 · 0 评论 -
HDFS的元数据辅助管理
当Hadoop的集群当中,NameNode的所有元数据信息保存在FsImage与Eidt文件当中,这两个文件就记录了所有的数据的元数据信息,元数据信息的保存目录配置在了hdfs-site.xml当中<property> <name>dfs.namenode.name.dir</name> <value> ...原创 2020-03-01 17:49:40 · 235 阅读 · 0 评论 -
HDFS文件读取过程
Client向NameNode发起RPC请求,来确定请求文件block所在的位置 NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址;这些返回的DataNode地址,会按照集群拓扑结构得出DataNode与客户端的距离,然后进行排序,排序两个规则:网络拓扑结构中距离Client近的排靠前,心跳机...原创 2020-03-01 15:23:57 · 819 阅读 · 1 评论 -
HDFS的写入过程
Client发起文件上传请求,通过RPC与NameNode建立通讯,NameNode检查目标文件是否已经存在,父目录是否存在,返回是否可以上传。 Client请求第一个block该传输到哪些DataNode服务器上 NameNode根据配置文件中指定的备份数量以及机架感知原理进行文件分配,返回可用的DataNode的地址,如:A,B,C hadoop 在设计时考虑到数据的安全与高效...原创 2020-03-01 15:01:06 · 254 阅读 · 0 评论 -
HDFS的基准测试
实际生产环境当中,hadoop的环境搭建完成之后,第一件事情就是进行压力测试,测试我们的集群的读取和写入速度,测试我们网络带宽是否足够等一些基准测试测试写入速度:向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到/benchmarks/TestDFSIO中hadoop jar /export/servers/hadoop-2.7.5/s...原创 2020-03-01 14:26:55 · 571 阅读 · 0 评论 -
HDFS的高级使用命令
HDFS文件限额配置在多人共用HDFS的环境下,配置设置非常重要。特别是在Hadoop处理大量资料的环境,如果没有配额管理,很容易把所有的空间用完造成别人无法存取。Hdfs的配额设定是针对目录而不是针对账号,可以 让每个账号仅操作某一个目录,然后对目录设置配置。hdfs文件的限额配置允许我们以文件个数,或者文件大小来限制我们在某个目录下上传的文件数量或者文件内容总量,以便达到我们类似百...原创 2020-02-29 21:30:22 · 360 阅读 · 0 评论 -
HDFS的命令行使用
ls格式:hdfs dfs -ls URI作用:类似于linux的ls命令,显示文件列表lsr格式:hdfs dfs -lsr URI作用:在整个目录下递归执行lsmkdir格式:hdfs dfs 【-p】 -mkdir <path>作用:以《path》中的URI作为参数,创建目录,使用-p参数可以递归创建目录put格式: hd...原创 2020-02-29 21:19:18 · 560 阅读 · 0 评论 -
HDFS的副本机制和机架感知
HDFS文件副本机制:所有的文件都是以block快的方式存放在HDFS文件系统当中,作用如下:一个文件有可能大于集群中任意一个磁盘,引入 块机制,可以很好的解决这个问题 使用块作为文件存储的逻辑单位可以简化存储子系统 快非常适合用于数据备份进而提供数据容错能力 Hadoop1当中,文件的block快默认大小是64M,hadoop2当中,文件的block块大小默认是128M,blo...原创 2020-02-29 19:24:42 · 477 阅读 · 0 评论 -
Hadoop的NameNode和DataNode
NameNode的作用:NameNode在内存中保存着整个文件系统的名称空间和文件数据块的地址映射整个HDFS可存储的文件数受限于NameNode的内存大小。NameNode元数据信息: 文件名,文件目录结构,文件属性(生成时间,副本数,权限)每个文件的快列表。 以及列表中的块与块所在的DataNode之间的地址映射关系,在内存中加载文件系...原创 2020-02-29 19:02:41 · 1328 阅读 · 0 评论 -
HDFS分布式文件系统
适合的应用场景: 存储非常大的文件: 这里非常大指的是几百M、G、或者TB级别,需要高吞吐量,对延时没有要求。 采用流式的数据访问方式: 即一次写入,多次读取,数据集经常从数据源生成或者拷贝一次, 然后在其上做很多分析工作。 运行于商业硬件上: ...原创 2020-02-29 18:28:00 · 239 阅读 · 0 评论 -
Apache版本的hadoop重新编译
为什么要编译hadoop由于appache给出的hadoop的安装包没有提供带C程序访问的接口,所以我们在使用本地库(本地库可以用来做压缩,以及支持C程序等等)的时候就会出问题,需要对Hadoop源码包进行重新编译准备环境: centos 64位 内存大于等于4G虚拟机联网,关闭防火墙,关闭selinux: 关闭防火墙命令: service i...原创 2020-02-28 19:44:04 · 367 阅读 · 0 评论 -
Hadoop集群的安装
第一步:上传apache hadoop包并解压 解压命令: cd /export/softwares tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/第二步:修改配置文件 修改 core-site.xml 文件 cd /export/servers/hadoop-2.7.5...原创 2020-02-27 22:02:12 · 172 阅读 · 0 评论 -
hadoop的架构模型
hadoop的架构模型1.x的版本架构模型介绍文件系统核心模块:NameNode: 集群当中的主节点,管理元数据(文件的大小,文件的位置,文件的权限),主要用于管理集群当中的各种数据seconddaryNameNode: 主要能用于hadoop当中元数据信息的辅助管理DataNode: 集群当中的从节点,主要用于存储集群当中的各种数据数据计算核心模块:JobTracker:接...原创 2020-02-16 14:28:54 · 348 阅读 · 0 评论
分享