<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingqiu6346的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingqiu6346</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingqiu6346]]></copyright><item><title><![CDATA[Kafuka面试（整合Kafka两种模式区别）]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190969</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190969</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:08:00 +0800</pubDate><description><![CDATA[整合Kafka两种模式说明
★面试题：Receiver &amp; Direct

开发中我们经常会利用SparkStreaming实时地读取kafka中的数据然后进行处理，在spark1.3版本后，kafkaUtils里面提供了两种创建DStream的方法:
1.Receiver接收方式：
KafkaUtils.createDstream(开发中不用，了解即可，但是面试可能会...]]></description><category></category></item><item><title><![CDATA[secondary namenode 检查点]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190960</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190960</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:07:00 +0800</pubDate><description><![CDATA[secondary namenode


NameNode职责是管理元数据信息，DataNode的职责是负责数据具体存储，那么SecondaryNameNode的作用是什么？对很多初学者来说是非常迷惑的。它为什么会出现在HDFS中。从它的名字上看，它给人的感觉就像是NameNode的备份。但它实际上却不是。
大家猜想一下，当HDFS集群运行一段事件后，就会出现下面一些问题：...]]></description><category></category></item><item><title><![CDATA[MapReduce总结]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190968</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190968</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:06:00 +0800</pubDate><description><![CDATA[MapReduce思想：
  核心：
  分而治之，先分在和
  应用场景：
  复杂任务，没有依赖，以并行提供处理效率
  脉络体现：

    先map后reduce
        map：把复杂的任务拆分成任务，局部进行计算，得出局部结果
        reduce：把map的局部结果...]]></description><category></category></item><item><title><![CDATA[Map、Reduce和Job方法总结]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190966</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190966</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:05:00 +0800</pubDate><description><![CDATA[map方法：

map的方法

public void map(Object key, Text value, Context context) throws IOException, InterruptedException {…}

key:偏移量，一般为0，用不到
value：每行的值
context：可以记录输入的key和value

例如：context.w...]]></description><category></category></item><item><title><![CDATA[Reduce端join弊端&方法key探讨]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190965</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190965</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:04:00 +0800</pubDate><description><![CDATA[转载于:https://www.cnblogs.com/TiePiHeTao/p/fe9b73346f72255aee178385e3aae9a4.html]]></description><category></category></item><item><title><![CDATA[Hadoop 两种环境下的checkpoint机制]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190957</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190957</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:04:00 +0800</pubDate><description><![CDATA[伪分布式环境：



HA环境checkpoint机制
配置了HA的HDFS中，有active和standby namenode两个namenode节点。他们的内存中保存了一样的集群元数据信息，因为standby namenode已经将集群状态存储在内存中了，所以创建检查点checkpoint的过程只需要从内存中生成新的fsimage。
详细过程如下： （standby na...]]></description><category></category></item><item><title><![CDATA[MapReduce的Partitioner案例]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190958</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190958</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:03:00 +0800</pubDate><description><![CDATA[项目简介

这里给出一个经典的词频统计的案例：统计如下样本数据中每个单词出现的次数。


SparkHBase
HiveFlinkStormHadoopHBaseSpark
Flink
HBaseStorm
HBaseHadoopHiveFlink
HBaseFlinkHiveStorm
HiveFlinkHadoop
HBaseHive
Hadoo...]]></description><category></category></item><item><title><![CDATA[MapReduce的WordCount案例]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190956</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190956</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:02:00 +0800</pubDate><description><![CDATA[项目简介

这里给出一个经典的词频统计的案例：统计如下样本数据中每个单词出现的次数。


SparkHBase
HiveFlinkStormHadoopHBaseSpark
Flink
HBaseStorm
HBaseHadoopHiveFlink
HBaseFlinkHiveStorm
HiveFlinkHadoop
HBaseHive
HadoopSpark...]]></description><category></category></item><item><title><![CDATA[MapReduce作业任务的管理]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190864</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190864</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:02:00 +0800</pubDate><description><![CDATA[通过 web console 监控作业的运行：



通过 yarn application 命令来进行作业管理
列出帮助信息：yarn application --help
查看运行的 MapReduce 程序：yarn application --list
查看应用状态：yarn application -status &lt;application_id&g...]]></description><category></category></item><item><title><![CDATA[MapReduce使用Partitioner分区案例]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190861</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190861</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:01:00 +0800</pubDate><description><![CDATA[Mapper：

import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce...]]></description><category></category></item><item><title><![CDATA[MapReduce排序案例]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190964</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190964</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:00:00 +0800</pubDate><description><![CDATA[排序：注意排序按照 Key2（Mapper输出的key） 排序，key2 需要实现WritableComparable接口


数据准备：

7369,SMITH,CLERK,7902,1980/12/17,800,,20
7499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,30
7521,WARD,SALESMAN,7698,1981...]]></description><category></category></item><item><title><![CDATA[MapReduce案例WordCount]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190963</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190963</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 21:00:00 +0800</pubDate><description><![CDATA[所需的 pom 依赖：

&lt;dependencies&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;org.apache.hadoop&lt;/groupId&gt;
        &lt;artifactId&gt;hadoop-client&lt;/artifactId&gt;
        &lt;vers...]]></description><category></category></item><item><title><![CDATA[MapReduce倒排索引]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190954</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190954</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:59:00 +0800</pubDate><description><![CDATA[问题分析


实现代码

InversIndex类



import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
imp...]]></description><category></category></item><item><title><![CDATA[MapReduce自定义排序编程]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190961</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190961</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:58:00 +0800</pubDate><description><![CDATA[排序和分组

在map和reduce阶段进行排序时，比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序，需要把k2和v2组装成新的类，作为k2，才能参与比较。
分组时也是按照k2进行比较的。

案例说明

数据：



zhangsan@163.com600002014-02-20
lisi@163.com200002014-02-20
li...]]></description><category></category></item><item><title><![CDATA[GroupingComparator 自定义分组]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190952</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190952</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:57:00 +0800</pubDate><description><![CDATA[图示说明：




有如下订单数据：

现在需要求出每一个订单中最贵的商品。
需求分析实现
（1）利用“订单id和成交金额”作为key，可以将map阶段读取到的所有订单数据按照id分区，按照金额排序，发送到reduce。
（2）在reduce端利用groupingcomparator将订单id相同的kv聚合成组，然后取第一个即是最大值。
代码实现：

定...]]></description><category></category></item><item><title><![CDATA[CombineTextInputFormat小文件处理场景]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190950</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190950</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:56:00 +0800</pubDate><description><![CDATA[存在的问题
HDFS设计是用来存储海量数据的，特别适合存储TB、PB量级别的数据。但是随着时间的推移，HDFS上可能会存在大量的小文件，这里说的小文件指的是文件大小远远小于一个HDFS块（128MB）的大小；HDFS上存在大量的小文件至少会产生以下影响：

消耗NameNode大量的内存
延长MapReduce作业的总运行时间
因为MapReduce框架默认的 TextInpu...]]></description><category></category></item><item><title><![CDATA[cdh 2.6.0版本和apache 2.7.x版本 本地执行环境的差异。]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190948</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190948</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:56:00 +0800</pubDate><description><![CDATA[问题：在cdh中 reducetask个数不管设置几个 最终都是一个执行。
原因：两个版本中 本地执行环境api发生了改变
注意：两个版本的api在yarn集群模式都是一样的。

localJobRunner:

cdh:

int numReduceTasks = this.job.getNumReduceTasks();
              ...]]></description><category></category></item><item><title><![CDATA[DistributedCache 分布式缓存]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190959</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190959</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:55:00 +0800</pubDate><description><![CDATA[分布式缓存DistributedCache


概念：
所谓的分布式缓存指的是 hadoop框架可以把用户指定的小文件发送到各个maptask运行的机器上，进行缓存，便于maptask读取该文件内容 进行关联查询操作，这就是所谓的map端join。




适用场合：




通常适用于大文件关联小文件，把小文件进行分布式缓存。





举例说明...]]></description><category></category></item><item><title><![CDATA[MapReduce数据压缩机制]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190955</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190955</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:54:00 +0800</pubDate><description><![CDATA[压缩目的：
  降低数据磁盘存储空间，减少传输数据的IO量
  压缩追求的指标：
      压缩时间  越短越好
      压缩化  越大越好
      硬件需求如：CPU 算法支持
 mr中可以使用压缩的地方：
      map的输出数据进行数据压缩，减少shuff给reduce的数据量 
...]]></description><category></category></item><item><title><![CDATA[MapReduce其他功能]]></title><link>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190946</link><guid>https://blog.youkuaiyun.com/dingqiu6346/article/details/101190946</guid><author>dingqiu6346</author><pubDate>Sat, 14 Sep 2019 20:54:00 +0800</pubDate><description><![CDATA[如何获取mr当前文件名称：





//获取当前处理切片FileSplit fileSplit = （FileSplit）context.getInputSplit();//根据当前切片获取String fileName = fileSplit.getPath().getNmae();






mr程序是否可以没有reduce阶段？
答;如果可以，全局...]]></description><category></category></item></channel></rss>