<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[阅后即焚]]></title><description><![CDATA[焚膏油以继晷，恒兀兀以穷年；]]></description><link>https://blog.youkuaiyun.com/OYziqing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; OYziqing]]></copyright><item><title><![CDATA[Hive基础知识]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/100044645</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/100044645</guid><author>OYziqing</author><pubDate>Fri, 23 Aug 2019 19:07:00 +0800</pubDate><description><![CDATA[从早期的互联网主流大爆发开始，主要的搜索引擎公司和电子商务公司就一直在和不断增长的数据进行较量。最近，社交网站也遇到了同样的问题。如今，许多组织已经意识到他们所收集的数据是让他们了解他们的用户，提高业务在市场上的表现以及提高基础架构效率的一个宝贵的资源。
Hadoop生态系统就是为处理如此大数据集而产生的一个合乎成本效益的解决方案。Hadoop实现了一个特别的计算模型，也就是MapReduce，其...]]></description><category></category></item><item><title><![CDATA[大数据面试题及答案]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/88170992</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/88170992</guid><author>OYziqing</author><pubDate>Tue, 05 Mar 2019 10:35:02 +0800</pubDate><description><![CDATA[Hadoop 相关试题
Hive 相关试题
1、 hive表关联查询，如何解决数据倾斜的问题?

  倾斜原因： 
  map输出数据按key Hash的分配到reduce中，由于key分布不均匀、业务数据本身的特点、建表时考虑不周、等原因造成的reduce 上的数据量差异过大。 
  1)、key分布不均匀; 
  2)、业务数据本身的特性; 
  3)、建表时考虑不周; 
  4)、某些SQL...]]></description><category></category></item><item><title><![CDATA[分布式文件存储系统架构和原理]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87881146</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87881146</guid><author>OYziqing</author><pubDate>Fri, 22 Feb 2019 16:33:19 +0800</pubDate><description><![CDATA[
架构

　如上图所示，HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。
　　NameNode：是Master节点，是大领导。管理数据块映射；处理客户端的读写请求；配置副本策略；管理HDFS的名称空间；
　　SecondaryNameNode：是一个小弟，分担大哥namenode的一部分工作量；是NameNode的...]]></description><category></category></item><item><title><![CDATA[shuffle原理]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87880432</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87880432</guid><author>OYziqing</author><pubDate>Fri, 22 Feb 2019 16:06:19 +0800</pubDate><description><![CDATA[shuffle阶段又可以分为Map端的shuffle和Reduce端的shuffle。

　　一、Map端的shuffle
Map端会处理输入数据并产生中间结果，这个中间结果会写到本地磁盘，而不是HDFS。每个Map的输出会先写到内存缓冲区中，当写入的数据达到设定的阈值时，系统将会启动一个线程将缓冲区的数据写到磁盘，这个过程叫做spill。
在spill写入之前，会先进行二次排序，首先根据数据所属...]]></description><category></category></item><item><title><![CDATA[大数据处理流程]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87864195</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87864195</guid><author>OYziqing</author><pubDate>Thu, 21 Feb 2019 16:53:13 +0800</pubDate><description><![CDATA[大数据处理流程

1． 数据处理流程
网站流量日志数据分析是一个纯粹的数据分析项目，其整体流程基本上就是依据数据的处理流程进行。有以下几个大的步骤：
1.1 数据采集
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;数据采集概念，目前行业会有两种解释：一是数据从无到有的过程（web服务器打印的日志、自定义采集的日志等）叫做数据采集；另一方面也有把通过...]]></description><category></category></item><item><title><![CDATA[数据倾斜的原因及解决方案]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/133008245</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/133008245</guid><author>OYziqing</author><pubDate>Fri, 15 Feb 2019 11:30:00 +0800</pubDate><description><![CDATA[数据倾斜:
  数据倾斜在MapReduce编程模型中十分常见,用最通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了'一个人累死,其他人闲死'的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,也拖累了整体的计算时间,可以说效率是十分低下的。
解决方案:
 ...]]></description><category></category></item><item><title><![CDATA[如果某个maptask运行失败怎么处理]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87347503</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87347503</guid><author>OYziqing</author><pubDate>Fri, 15 Feb 2019 11:01:39 +0800</pubDate><description><![CDATA[常见容错场景分析
1.1作业某个任务阻塞了，长时间占用资源不释放
1.2在MapTask任务运行完毕，ReduceTask运行过程中，某个MapTask节点挂了，或者某个MapTask结果存放的那磁盘坏掉了
1.任务阻塞，长时间占用资源不释放
这种问题通常是由于程序bug，数据特性造成的，会让程序阻塞，任务运行停滞不前。在我们表面上看来是任务停滞不前。
这种问题经常发生，任务长时间占用着资源不释放...]]></description><category></category></item><item><title><![CDATA[HDFS读写数据流程]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87345228</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87345228</guid><author>OYziqing</author><pubDate>Fri, 15 Feb 2019 10:27:40 +0800</pubDate><description><![CDATA[HDFS写数据流程：

1.客户端向nd发送文件上传请求 nd检查目录文件是否存在 检查父目录是否存在
2.nd向客户端返回是否上传响应
3.客户端向nd请求 上传到那个节点(dn)
4.nd响应 dn1 dn2 dn3可以上传
5.客户端向dn1发送请求 dn1–&amp;gt;dn2–&amp;gt;dn3 建立文件传输管道
6.dn1  dn2  dn3 向客户端逐级应答
7.客户端将block文件以pac...]]></description><category></category></item><item><title><![CDATA[HDFS常用命令]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/87342482</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/87342482</guid><author>OYziqing</author><pubDate>Fri, 15 Feb 2019 09:48:52 +0800</pubDate><description><![CDATA[
（1）-help：输出这个命令参数
bin/hdfs dfs -help rm
（2）-ls: 显示目录信息
hadoop fs -ls /
（3）-mkdir：在hdfs上创建目录
hadoop fs  -mkdir  -p  /aaa/bbb/cc/dd
（4）-moveFromLocal从本地剪切粘贴到hdfs
hadoop  fs  - moveFromLocal  /home/hado...]]></description><category></category></item><item><title><![CDATA[kafka集群设置shell脚本一键启动和关闭]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86499561</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86499561</guid><author>OYziqing</author><pubDate>Tue, 15 Jan 2019 21:32:43 +0800</pubDate><description><![CDATA[前言：最近在做Spark， 做到安装kafka， 安装完想配置一键启动和关闭，  编写启动的脚本执行没问题， 关闭的时候遇到了一些问题 ，上网查资料也只能解决一半， 有些博客写的关闭脚本拿过来用执行不能成功，让同事看好久测试好久也没找出来，最后自己重写一遍就可以了。下面跟大家分享一下经验吧~

1.kafka 的config目录下 kafka-server-stop.sh 有些问题，需要先修改一下...]]></description><category></category></item><item><title><![CDATA[Spark资源调度和任务调度流程]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86484210</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86484210</guid><author>OYziqing</author><pubDate>Mon, 14 Jan 2019 21:22:12 +0800</pubDate><description><![CDATA[spark运行架构
Spark资源调度和任务调度的流程：
1、启动集群后，Worker节点会向Master节点汇报资源情况，Master掌握了集群资源情况。
2、当Spark提交一个Application后，根据RDD之间的依赖关系将Application形成一个DAG有向无环图。任务提交后，Spark会在Driver端创建两个对象：DAGScheduler和TaskScheduler。
3、DA...]]></description><category></category></item><item><title><![CDATA[RDD的五大属性]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86483787</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86483787</guid><author>OYziqing</author><pubDate>Mon, 14 Jan 2019 20:51:16 +0800</pubDate><description><![CDATA[- 1） A list of partitions
一个分区列表，一个rdd有多个分区，后期spark任务计算是以分区为单位，一个分区就对应上一个task线程。
  通过val rdd1=sc.textFile(文件)
  如果这个文件大小的block个数小于等于2，它产生的rdd的分区数就是2
  如果这个文件大小的block个数大于2，它产生的rdd的分区数跟文件的block相同
 -   ...]]></description><category></category></item><item><title><![CDATA[cache/persist/checkpoint区别]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86303153</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86303153</guid><author>OYziqing</author><pubDate>Fri, 11 Jan 2019 15:33:51 +0800</pubDate><description><![CDATA[cache和persist的区别
基于Spark 1.4.1 的源码，可以看到
/** Persist this RDD with the default storage level (`MEMORY_ONLY`). */
def cache(): this.type = persist()

说明是cache()调用了persist(), 想要知道二者的不同还需要看一下persist函数：
/*...]]></description><category></category></item><item><title><![CDATA[Spark-Map和MapPartition的区别]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86302651</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86302651</guid><author>OYziqing</author><pubDate>Fri, 11 Jan 2019 15:22:13 +0800</pubDate><description><![CDATA[在Spark中有map和mapPartitions算子，处理数据上，有一些区别
主要区别：

map是对rdd中的每一个元素进行操作；
mapPartitions则是对rdd中的每个分区的迭代器进行操作


MapPartitions的优点：
如果是普通的map，比如一个partition中有1万条数据。ok，那么你的function要执行和计算1万次。
使用MapPartitions操作之后，一...]]></description><category></category></item><item><title><![CDATA[Zookeeper集群设置shell脚本一键启动和关闭]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/86250739</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/86250739</guid><author>OYziqing</author><pubDate>Thu, 10 Jan 2019 19:39:38 +0800</pubDate><description><![CDATA[
                  					
							
					
版权声明：本文为博主原创文章，转正请注明出处。					https://blog.youkuaiyun.com/OYziqing				&amp;amp;amp;amp;amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;amp;amp;amp;amp;gt;

Zookeeper集群设置shell脚本一键启动
准备：
集群部署规划：

配置了主机名、映射
主机时间同步
关闭防火墙
配置环境变量
安装了zookee]]></description><category></category></item><item><title><![CDATA[Chrome浏览器安装插件]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/85727929</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/85727929</guid><author>OYziqing</author><pubDate>Thu, 03 Jan 2019 23:06:19 +0800</pubDate><description><![CDATA[Chrome浏览器安装广告拦截插件
版权声明：本文为使用及总结心得，未经博主允许不得转载，欢迎大家拍砖、叫好、吐槽！！https://blog.youkuaiyun.com/OYziqing
可能会有其他方法 这个方法是我自己琢磨的 亲测有效  如果有其他更方便的方法可以留言交流一下												
1.谷歌扩展程序

谷歌浏览器网址栏搜索 chrome://extensions/  打开谷歌扩展程序...]]></description><category></category></item><item><title><![CDATA[MapReduce核心之shuffle]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/85684340</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/85684340</guid><author>OYziqing</author><pubDate>Thu, 03 Jan 2019 11:30:53 +0800</pubDate><description><![CDATA[hadoop的核心思想是MapReduce，但shuffle又是MapReduce的核心。shuffle的主要工作是从Map结束到Reduce开始之间的过程。首先看下这张图，就能了解shuffle所处的位置。图中的partitions、copy phase、sort phase所代表的就是shuffle的不同阶段。

shuffle阶段又可以分为Map端的shuffle和Reduce端的shuff...]]></description><category></category></item><item><title><![CDATA[DAO，Service,Controller各层之间的关系]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/85677924</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/85677924</guid><author>OYziqing</author><pubDate>Thu, 03 Jan 2019 09:52:20 +0800</pubDate><description><![CDATA[DAO层：DAO层主要是做数据持久层的工作，负责与数据库进行联络的一些任务都封装在此，DAO层的设计首先是设计DAO的接口，然后在Spring的配置文件中定义此接口的实现类，然后就可在模块中调用此接口来进行数据业务的处理，而不用关心此接口的具体实现类是哪个类，显得结构非常清晰，DAO层的数据源配置，以及有关数据库连接的参数都在Spring的配置文件中进行配置。Service层：Service层主要...]]></description><category></category></item><item><title><![CDATA[Azkaban]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/85677184</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/85677184</guid><author>OYziqing</author><pubDate>Thu, 03 Jan 2019 09:37:07 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/clypm/article/details/79076801
1. Azkaban是什么？Azkaban是由Linkedin公司推出的一个批量工作流任务调度器，主要用于在一个工作流内以一个特定的顺序运行一组工作和流程，它的配置是通过简单的key:value对的方式，通过配置中的dependencies 来设置依赖关系，这个依赖关系必须是无环的，否则...]]></description><category></category></item><item><title><![CDATA[命名变量的神奇网站]]></title><link>https://blog.youkuaiyun.com/OYziqing/article/details/85676743</link><guid>https://blog.youkuaiyun.com/OYziqing/article/details/85676743</guid><author>OYziqing</author><pubDate>Thu, 03 Jan 2019 09:27:20 +0800</pubDate><description><![CDATA[
		
								            
						
                推荐一个命名变量的神奇网站 CODELF在我们写程序的时候，总是需要去给各种变量命名。于是各种命名大法都上来了，有拼音的，有首字母缩写的，各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站：https://unbug.github.io/codelf/这个网站可以根据你输入的关键词，...]]></description><category></category></item></channel></rss>