摘要:
NIO/BIO BIO网络通信 概述 网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接建立成功,双方就可以通过网络套接字(Socke 阅读全文
摘要:
Graphx 概述 Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。 众所周知·,社交网络中人与人之间有很多关系链,例如Twitter、Facebook、微博和微信等,这些都是大数据产生的地方都需要图 阅读全文
摘要:
Spark Streaming 概述 Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力,以吞吐量高和容错能力强著称。 SparkStreaming VS Storm 在Spark老版本中,SparkStreaming的延迟级别达到秒级, 阅读全文
摘要:
MLlib 数据挖掘与机器学习 数据挖掘体系 数据挖掘:也就是data mining,是一个很宽泛的概念,也是一个新兴学科,旨在如何从海量数据中挖掘出有用的信息来。 数据挖掘这个工作BI(商业智能)可以做,统计分析可以做,大数据技术可以做,市场运营也可以做,或者用excel分析数据,发现了一些有用的 阅读全文
摘要:
Spark SQL 概述 Spark为结构化数据处理引入了一个称为Spark SQL的编程模块。它提供了一个称为DataFrame(数据框)的编程抽象,DF的底层仍然是RDD,并且可以充当分布式SQL查询引擎。 SparkSQL的由来 SparkSQL的前身是Shark。在Hadoop发展过程中,为 阅读全文
摘要:
Spark Core DAG概念 有向无环图 Spark会根据用户提交的计算逻辑中的RDD的转换(变换方法)和动作(action方法)来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG。 RDD之间的关系可以从两个维度来理解:一个是RDD是从哪些RDD转换而来,也就是RDD的pare 阅读全文
摘要:
Spark架构 为了更好地理解调度,我们先来鸟瞰一下集群模式下的Spark程序运行架构图。 1. Driver Program 用户编写的Spark程序称为Driver Program。每个Driver程序包含一个代表集群环境的SparkContext对象,程序的执行从Driver程序开始,所有操作 阅读全文
摘要:
Spark 概述 Spark的技术背景 无论是工业界还是学术界,都已经广泛使用高级集群编程模型来处理日益增长的数据,如MapReduce和Dryad。这些系统将分布式编程简化为自动提供位置感知性调度、容错以及负载均衡,使得大量用户能够在商用集群上分析超大数据集。 大多数现有的集群计算系统都是基于非循 阅读全文
摘要:
Hbase HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文《Bigtable》一个结构化数据的分布式存储系统" 非关系型数据库和关系型数据库 传统关系型数据库的缺陷 1)高并发读写的瓶颈 2)可扩展性的限制 3)事务一致性的负面影响 4)复杂 阅读全文
摘要:
storm 实时分析概念 离线分析 通常是 需要一段时间的数据积累 积累到一定数量数据后 开始离线分析 无论数据量多大 离线分析 有开始 也有结束 最终得到一个处理的结果 这样的分析过程 得到的结果是有较大的延迟的 实时分析 通常 数据不停的到来 随着数据的到来 来进行增量的运算 立即得到新数据的处 阅读全文
摘要:
Kafka 概述 Kafka是由LinkedIn开发的一个分布式的消息系统,最初是用作LinkedIn的活动流(Activity Stream)和运营数据处理的基础。 活动流数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的 阅读全文
摘要:
Flume 概述: Flume最早是Cloudera提供的日志收集系统,后贡献给Apache。所以目前是Apache下的项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。 海量日志采集、聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据(source);同时,Flum 阅读全文
摘要:
Hive Hive概述 Hive是基于Hadoop的一个数据仓库工具。可以将结构化的数据文件映射为一张表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现MapReduce统计,不必开发专门的MapReduce应用,十 阅读全文
摘要:
Zookeeper 概述 Zookeeper是一个分布式的协调服务框架 Zookeeper可以解决分布式环境常见的问题 集群管理、统一命名服务 信息配置管理 分布式锁 Zookeeper要解决的问题 zookeeper旨在在分布式应用中,提供可靠的、可扩展的、分布式的、可配置的协调机制来管理整个集群 阅读全文
摘要:
MR调优策略 1.减少数据的传输量 2.尽量使用内存 3.减少磁盘I/O的次数 4.增大任务并行数 5.除此之外还有根据自己集群及网络的实际情况来调优。 Map Side Join--解决join时数据倾斜问题 如何解决数据倾斜是一个常谈的话题,不同的框架有不同的处理方案,如果是MR框架的话,我们可 阅读全文
摘要:
Shuffle(洗牌) 图 map 1.Map Task的输出k v,一开始会进入溢写缓冲区中,对数据做处理,比如分区、排序等操作。 2.有几个Map Task,就有几个对应的溢写缓冲区(分区) 3.溢写缓冲区默认是100MB,溢写阈值:0.8。(都可通过配置文件调节) 4.当缓冲区中的数据达到溢写 阅读全文
摘要:
job任务执行流程 1.run job阶段 ①收集整个job的环境信息(比如通过conf设定的参数,还有mapperClass,reducerClass,以及输出kv类型) ②会计算当前job的切片数量(切片不同等切块,用FileSplit:path start length) ③检测环境信息的合法 阅读全文
摘要:
Yarn 资源调度框架 实现对资源的细粒度封装(cpu,内存,带宽) 此外,还可以通过yarn协调多种不同计算框架(MR,Spark) 概述 Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器 阅读全文