摘要:
整合Kafka两种模式说明 ★面试题:Receiver & Direct 开发中我们经常会利用SparkStreaming实时地读取kafka中的数据然后进行处理,在spark1.3版本后,kafkaUtils里面提供了两种创建DStream的方法: 1.Receiver接收方式: KafkaUti 阅读全文
摘要:
secondary namenode NameNode职责是管理元数据信息,DataNode的职责是负责数据具体存储,那么SecondaryNameNode的作用是什么?对很多初学者来说是非常迷惑的。它为什么会出现在HDFS中。从它的名字上看,它给人的感觉就像是NameNode的备份。但它实际上却不 阅读全文
摘要:
MapReduce思想: 核心: 分而治之,先分在和 应用场景: 复杂任务,没有依赖,以并行提供处理效率 脉络体现: 先map后reduce map:把复杂的任务拆分成任务,局部进行计算,得出局部结果 reduce:把map的局部结果进行全局汇总,得到最终结果 MapReduce设计构思: 如何进行 阅读全文
摘要:
map方法: map的方法 public void map(Object key, Text value, Context context) throws IOException, InterruptedException {…} key:偏移量,一般为0,用不到 value:每行的值 contex 阅读全文
摘要:
<!--more--> 阅读全文
摘要:
伪分布式环境: HA环境checkpoint机制 配置了HA的HDFS中,有active和standby namenode两个namenode节点。他们的内存中保存了一样的集群元数据信息,因为standby namenode已经将集群状态存储在内存中了,所以创建检查点checkpoint的过程只需要 阅读全文
摘要:
项目简介 这里给出一个经典的词频统计的案例:统计如下样本数据中每个单词出现的次数。 SparkHBase HiveFlinkStormHadoopHBaseSpark Flink HBaseStorm HBaseHadoopHiveFlink HBaseFlinkHiveStorm HiveFlin 阅读全文
摘要:
通过 web console 监控作业的运行: <!--more--> 通过 yarn application 命令来进行作业管理 列出帮助信息:yarn application --help 查看运行的 MapReduce 程序:yarn application --list 查看应用状态:yar 阅读全文
摘要:
项目简介 这里给出一个经典的词频统计的案例:统计如下样本数据中每个单词出现的次数。 SparkHBase HiveFlinkStormHadoopHBaseSpark Flink HBaseStorm HBaseHadoopHiveFlink HBaseFlinkHiveStorm HiveFlin 阅读全文
摘要:
Mapper: import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.NullWritable; import org.apache.hadoop.io.Te 阅读全文
摘要:
所需的 pom 依赖: <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.3</version> </depende 阅读全文
摘要:
排序:注意排序按照 Key2(Mapper输出的key) 排序,key2 需要实现WritableComparable接口 数据准备: 7369,SMITH,CLERK,7902,1980/12/17,800,,20 7499,ALLEN,SALESMAN,7698,1981/2/20,1600,3 阅读全文
摘要:
问题分析<!--more--> 实现代码 InversIndex类 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import or 阅读全文
摘要:
排序和分组 在map和reduce阶段进行排序时,比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序,需要把k2和v2组装成新的类,作为k2,才能参与比较。 分组时也是按照k2进行比较的。 案例说明 数据: zhangsan@163.com600002014-02-20 lisi@163 阅读全文
摘要:
图示说明: 图示说明: 有如下订单数据: 现在需要求出每一个订单中最贵的商品。 需求分析实现 (1)利用“订单id和成交金额”作为key,可以将map阶段读取到的所有订单数据按照id分区,按照金额排序,发送到reduce。 (2)在reduce端利用groupingcomparator将订单id相同 阅读全文
摘要:
存在的问题 HDFS设计是用来存储海量数据的,特别适合存储TB、PB量级别的数据。但是随着时间的推移,HDFS上可能会存在大量的小文件,这里说的小文件指的是文件大小远远小于一个HDFS块(128MB)的大小;HDFS上存在大量的小文件至少会产生以下影响: 消耗NameNode大量的内存 延长MapR 阅读全文
摘要:
问题:在cdh中 reducetask个数不管设置几个 最终都是一个执行。 原因:两个版本中 本地执行环境api发生了改变 注意:两个版本的api在yarn集群模式都是一样的。<!--more--> localJobRunner: cdh: int numReduceTasks = this.job 阅读全文
摘要:
分布式缓存DistributedCache 概念: 所谓的分布式缓存指的是 hadoop框架可以把用户指定的小文件发送到各个maptask运行的机器上,进行缓存,便于maptask读取该文件内容 进行关联查询操作,这就是所谓的map端join。 概念: 适用场合: <!--more--> 通常适用于 阅读全文
摘要:
压缩目的: 降低数据磁盘存储空间,减少传输数据的IO量 压缩追求的指标: 压缩时间 越短越好 压缩化 越大越好<!--more--> 硬件需求如:CPU 算法支持 mr中可以使用压缩的地方: map的输出数据进行数据压缩,减少shuff给reduce的数据量 reduce的输出进行数据压缩,减少最终 阅读全文
摘要:
如何获取mr当前文件名称: //获取当前处理切片<!--more-->FileSplit fileSplit = (FileSplit)context.getInputSplit();//根据当前切片获取String fileName = fileSplit.getPath().getNmae(); 阅读全文