数据处理

第5章 RDD编程进阶

社会主义新天地 提交于 2020-02-08 17:08:01
上篇: 第4章 大数据Spark连接HBase数据读取与保存 Spark 三大数据结构 RDD:分布式数据集 广播变量:分布式只读共享变量 累加器: 分布式只写共享变量 1、累加器 累加器用来对信息进行聚合,通常在向 Spark传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。如果我们想实现所有分片处理时更新共享变量的功能,那么累加器可以实现我们想要的效果。 代码具体实现: package com . study . bigdatabase import org . apache . hadoop . hbase . HBaseConfiguration import org . apache . hadoop . hbase . client . Put import org . apache . hadoop . hbase . io . ImmutableBytesWritable import org . apache . hadoop . hbase . mapred . TableOutputFormat import org . apache . hadoop . hbase . util . Bytes

大数据基础之hdfs3

回眸只為那壹抹淺笑 提交于 2020-02-08 13:43:04
1、hdfs的副本的配置 修改hdfs-site.xml文件 <!-- 注释配置数据块的冗余度,默认是3 --> <property> <name>dfs.replication</name> <value>1</value> </property> <!--注释配置HDFS的权限检查,默认是true--> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hsiehchou122:50090</value> </property> 需要同步到其它机器: scp hdfs-site.xml hsiehchou122:$PWD scp hdfs-site.xml hsiehchou123:$PWD scp hdfs-site.xml hsiehchou124:$PWD 这里我划重点(亲自经历) 如果原来的分布式hadoop集群的主节点有Secondary NameNode,需要配置到其他节点,因为如果主节点挂了,其也是挂了,它的作用是在HDFS中提供一个检查点,相当于NameNode的助手节点 职责是:合并NameNode的edit

Yarn资源调度系统详解

↘锁芯ラ 提交于 2020-02-08 10:14:56
1、Yarn介绍 Apache Hadoop YARN 是 apache Software Foundation Hadoop的子项目,为分离Hadoop2.0资源管理和计算组件而引入。YARN的诞生缘于存储于HDFS的数据需要更多的交互模式,不单单是MapReduce模式。Hadoop2.0 的YARN 架构提供了更多的处理框架,比如spark框架,不再强迫使用MapReduce框架。 从hadoop2.0 的架构图可以看出,YARN承担着原本由MapReduce承担的资源管理的功能,同时将这部分的功能打包使得他们可以被新的数据处理引擎使用。这也同时简化了MapReduce的流程,使得MapReduce专注的将数据处理做到最好。使用YARN,可以用共同的资源管理,在Hadoop上跑很多应用程序。目前,很多机构已经开发基于YARN的应用程序。 2、Yarn架构 YARN的架构还是经典的主从(master/slave)结构,如下图所示。大体上看,YARN服务由一个ResourceManager(RM)和多个NodeManager(NM)构成,ResourceManager为主节点(master),NodeManager为从节点(slave) 在YARN体系结构中,全局ResourceManager作为主守护程序运行,该仲裁程序在各种竞争应用程序之间仲裁可用的群集资源

spark面试总结2

最后都变了- 提交于 2020-02-08 05:57:29
Spark core面试篇02 1.cache后面能不能接其他算子,它是不是action操作? 答:cache可以接其他算子,但是接了算子之后,起不到缓存应有的效果,因为会重新触发cache。 cache不是action操作 2.reduceByKey是不是action? 答:不是,很多人都会以为是action,reduce rdd是action 3.数据本地性是在哪个环节确定的? 具体的task运行在那他机器上,dag划分stage的时候确定的 4.RDD的弹性表现在哪几点? 1)自动的进行内存和磁盘的存储切换; 2)基于Lingage的高效容错; 3)task如果失败会自动进行特定次数的重试; 4)stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片; 5)checkpoint和persist,数据计算之后持久化缓存 6)数据调度弹性,DAG TASK调度和资源无关 7)数据分片的高度弹性,a.分片很多碎片可以合并成大的,b.par 5.常规的容错方式有哪几种类型? 1).数据检查点,会发生拷贝,浪费资源 2).记录数据的更新,每次更新都会记录下来,比较复杂且比较消耗性能 6.RDD通过Linage(记录数据更新)的方式为何很高效? 1)lazy记录了数据的来源,RDD是不可变的,且是lazy级别的,且rDD 之间构成了链条,lazy是弹性的基石。由于RDD不可变

Spark集群术语

我是研究僧i 提交于 2020-02-08 03:43:42
Spark集群术语解析 1. Application Application是用户在Spark上构建(编写)的程序,包含driver program 和executors(分布在集群中多个节点上运行的Executor代码)。 2. SparkContext Spark的上下文对象,是程序的起点,通往集群的入口(与cluster进行连接),通过其可以创建RDD(获取数据),在其中配置的参数拥有最高优先级。在Spark中由SparkContext负责和ClusterManager通行,进行资源的申请,任务的分配和监控等。 3. Driver program 包含应用程序的main函数,并且运行时会创建SparkContext。当Executor部分运行完后,Driver负责将SparkContext关闭。 4. Cluster Manager 集群资源管理的外部服务,在Spark上现有Standalone(Spark自带的管理器),YARN(hadoop 2.x的管理器),Mesos等三种集群资源管理器,Standalone能满足绝大部分对集群资源管理的需求,基本上只有在集群中运行多套计算框架(例如同时运行MapReduce和Spark)的时候才建议使用YARN和Mesos。 5. Deploy mode 表明driver程序运行的位置。在”cluster”模式时

spark1.6.1 on yarn搭建部署

随声附和 提交于 2020-02-08 03:17:38
注:本文是建立在hadoop已经搭建完成的基础上进行的。 Apache Spark是一个 分布式计算框架 ,旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度,任务的提交、执行和跟踪,节点间的通信以及数据并行处理的内在底层操作都进行了抽象。它提供了一个更高级别的API用于处理分布式数据。从这方面说,它与Apache Hadoop等分布式处理框架类似。但在底层架构上,Spark与它们有所不同。 Spark起源于加利福利亚大学伯克利分校的一个研究项目。学校当时关注分布式机器学习算法的应用情况。因此,Spark从一开始便为应对迭代式应用的高性能需求而设计。在这类应用中,相同的数据会被多次访问。该设计主要靠利用数据集内存缓存以及启动任务时的低延迟和低系统开销来实现高性能。再加上其容错性、灵活的分布式数据结构和强大的函数式编程接口,Spark在各类基于机器学习和迭代分析的大规模数据处理任务上有广泛的应用,这也表明了其实用性。 Spark支持四种运行模式。 本地单机模式:所有Spark进程都运行在同一个Java虚拟机(Java Vitural Machine,JVM)中。 集群单机模式:使用Spark自己内置的任务调度框架。 基于Mesos:Mesos是一个流行的开源集群计算框架。 基于YARN:即Hadoop 2,它是一个与Hadoop关联的集群计算和资源调度框架 。

Spark基本架构及原理

那年仲夏 提交于 2020-02-08 02:54:09
Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势: Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求 官方资料介绍Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍 目标: 架构及生态 spark 与 hadoop 运行流程及特点 常用术语 standalone模式 yarn集群 RDD运行流程 架构及生态: 通常当需要处理的数据量超过了单机尺度(比如我们的计算机有4GB的内存,而我们需要处理100GB以上的数据)这时我们可以选择spark集群进行计算,有时我们可能需要处理的数据量并不大,但是计算很复杂,需要大量的时间,这时我们也可以选择利用spark集群强大的计算资源,并行化地计算,其架构示意图如下: Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的 Spark SQL:提供通过Apache

Spark集群术语

久未见 提交于 2020-02-08 02:16:08
Spark集群术语解析 1. Application Application是用户在Spark上构建(编写)的程序,包含driver program 和executors(分布在集群中多个节点上运行的Executor代码)。 2. SparkContext Spark的上下文对象,是程序的起点,通往集群的入口(与cluster进行连接),通过其可以创建RDD(获取数据),在其中配置的参数拥有最高优先级。在Spark中由SparkContext负责和ClusterManager通行,进行资源的申请,任务的分配和监控等。 3. Driver program 包含应用程序的main函数,并且运行时会创建SparkContext。当Executor部分运行完后,Driver负责将SparkContext关闭。 4. Cluster Manager 集群资源管理的外部服务,在Spark上现有Standalone(Spark自带的管理器),YARN(hadoop 2.x的管理器),Mesos等三种集群资源管理器,Standalone能满足绝大部分对集群资源管理的需求,基本上只有在集群中运行多套计算框架(例如同时运行MapReduce和Spark)的时候才建议使用YARN和Mesos。 5. Deploy mode 表明driver程序运行的位置。在”cluster”模式时

Spark 基本架构及原理

泪湿孤枕 提交于 2020-02-08 01:54:19
转载自: http://blog.csdn.net/swing2008/article/details/60869183 转自:http://www.cnblogs.com/tgzhu/p/5818374.html Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势: Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求 官方资料介绍Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍 目标: 架构及生态 spark 与 hadoop 运行流程及特点 常用术语 standalone模式 yarn集群 RDD运行流程 架构及生态: 通常当需要处理的数据量超过了单机尺度(比如我们的计算机有4GB的内存,而我们需要处理100GB以上的数据)这时我们可以选择spark集群进行计算,有时我们可能需要处理的数据量并不大,但是计算很复杂,需要大量的时间,这时我们也可以选择利用spark集群强大的计算资源,并行化地计算

Hadoop(MapReduce)知识点总结

这一生的挚爱 提交于 2020-02-07 20:55:47
第1章 MapReduce概论 1.1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上 1.2 MapReduce优缺点 1.2.1 优点 A.MapReduce易于编程 B.良好的扩展性 C.高容错性 D.适合PB级以上海量数据的离线处理 1.2.2 缺点 A.不擅长实时计算 B.不擅长流式计算 C.不擅长DAG(有向图)计算 1.3 MapReduce核心思想 总结:分析WordCount数据流走向深入理解MapReduce核心思想 1.4 MapReduce进程 一个完整的MapReduce程序在分布式运行时有三类实例进程 A.MrAppMaster:负责整个程序的过程调度及状态协调 B.MapTask:负责Map阶段的整个数据处理流程 C.ReduceTask:负责Reduce阶段的整个数据处理流程 1.5 官方WordCount源码 采用反编译工具反编译源码,发现WordCount案例有Map类、Reduce类和驱动类。且数据的类型是Hadoop自身封装的序列化类型 1.6 常用数据序列化类型 Java类型 Hadoop Writable类型 Boolean