1、大数据实践大数据应用人才培养系列教材第五章内存大数据计算框架Spark5.1 Spark 简介5.2 Spajk都署5.3 Spajk 配置5.4 Spark RDD5.5 Spark Shell习题5.1 Spark简介第五章内存大数据计算框架Spark美国加州大学伯克利分校的AM P实验室在2010年发布的一个快速、通用的开源大数据处理引擎与Hadoop平台类似,提供更高效、更快的数据处理,兼容Hadoop生 7qX当前主流的数据分析、数据流式处理、机器学习平台之一5.1 Spark简介第五章内存大数据计算框架SparkPySpark.Spark SQL CLIHDFS、Hive、HBas
2、e、Parquet等5.1 Spark 简介第五章内存大数据计算框架SparkSpark生态系统BDASAccess andInterfacesProcessing EngineSpark Streaming消 mple g.OLA CleanSparkRGraphXSplashMLBaseVeloxBlinkDBMLPipelinesSparkSQLMLlibApache Spark(Core)StorageResourceVirtualizationSuccinctAlluxio(formerly Tachyon)HDFS,S3,CephApache Mesos Hadoop YamAMP
3、Lab InitiatedSpark Community3rd PartyIn Developmenl5.1 Spark 简介第五章内存大数据计算框架SparkSpark应用程序架构5.1 Spark 简介第五章内存大数据计算框架Spark有向无环图的阶段划分RDD的转化:AgroupByBCmap-DDZEunion-FBZF-join-G大数据应用人才培养系列教材第五章内存大数据计算框架Spark5.2 Spark部署第五章内存大数据计算框架Spark准备工作1)安装JDK2)下载SparkDownload Apache Spark1.Choose a Spark release:2.1.
4、0(Dec 28 2016)Q2.Choose a packag e type:Pre-built for Hadoop 2.7 and later3.Choose a download type:Direct Download4.Download Spark:spark-2.1.0-bin-hadoop2.7.tg z5.Verify this release using the 2.1.0 sig natures and checksums and project release KEYS.Note:Starting version 2.0,Spark is built with Scal
5、a 2.11 by default.Scala 2.10 users should download the Spark source package and build with Scala 2.10 support.5.2 Spark部署第五章内存大数据计算框架Spark Spark单节点部署1)选择一台Linux机器,安装JDK2)下载Spark包文件,并解压3)运行测试程序(计算圆周率)/bin/run-example SparkPi 10 2/dev/null5.2 Spark部署第五章内存大数据计算框架Spark Spa r k集群点部署一Sta ndalon e模式集群的架构Sl
6、ave5.2 Spark部署第五章内存大数据计算框架Spark Spa r k集群点部署一Sta ndalon e模式集群的规划集群角色机器名IP地址Mastercloud 1192.168.100.10Slavecloud2192.168.100.11Slavecloud3192.168.100.125.2 Spark部署第五章内存大数据计算框架Spark Spark集群点部署一Standalone模式集群的部署步骤1)配置Linux机器,调通网络,关闭防火墙2)创建用户dtadmin3)配置host文件4)安装JDK5)配置免密码登录6)下载、解压Spark安装包7)配置slaves文件8
7、)执行启动脚本,启动集群9)验证安装是否成功10)提交测试程序5.2 Spark部署第五章内存大数据计算框架Spark Spark集群点部署一高可用集群1”曾加备用Master节点实现高可用集群2)配置Master节点本地文件系统恢复大数据应用人才培养系列教材第五章内存大数据计算框架Spark5.1 Spark 简介5.2Spajk部署5.3 Spark 配置5.4 Spark RDD5.5 Spark Shell习题5.3 Spark酉己置第五章内存大数据计算框架Spark三种配置1)Spark属性应用程序相关配置2)环境变量机器相关配置3)日志配置日志开关、级别等5.3 Spark酉己置第
8、五章内存大数据计算框架Spark Spark属性,优先级由低到高:1)spark-defaults.conf 酉己置文彳牛2)命令行参数3)SparkCon仅寸象5.3 Spark酉己置第五章内存大数据计算框架Spark常用Spark属性属性名默认值含义spark.app.name(none)spark.driver.cores 1spark.driver.memory 1Gspark.executor.memory 1Gspark.master(none)spark.submit.deployMode(none)Spark应用程序的名称集群模式下driver所使用的core的数量Drive
9、r进程所使用的内存大/每个exec ut。r进程所使用的内存大/集群管理器URLDriver程序的部署模式,取值 为:client”或 cluster”5.3 Spark酉己置第五章内存大数据计算框架Spark常用环境变量配置配置项含义SPARK_LOCALJP绑定的IP地址SPARK_PUBLIC_DNS Driver 程序使用的 DNS服务器SPARK_CLASSPATH额夕卜追力口的classpath大数据应用人才培养系列教材第五章内存大数据计算框架Spark5.1 Spark 简介51 2 Spark 部署5.3 Spark酉己置5.4 Spark RDD5.5 Spark Shell
10、习题可缓存,避免重复计算 5.4 Spark RDD第五章内存大数据计算框架Spark常用RDD转换操作RDD转换 含义m叩(func)通过函数func对数据集中的每个成员进行转换filter(func)通过函数func选择过滤数据集中的成员flatMap(func)和m叩转换类似,但函数func可以把单个成员转换为多个成员。union(other)返回当前集合与0 therDataset集合的union操作distinct 去掉集合中重复成员,使新的集合中成员各不相同groupByKey 对键-值(key-value)对集合按照键(key)进行groupBy操作sortByKey 对键-值(
11、key-value)对集合进行排序join(other)对两个键-值(key-value)对集合:(K,V),(K,W)进行连接操作,形成新的键-值对集合:(K,(V,W)5.4 Spark RDD第五章内存大数据计算框架Spark RDD依赖关系:RDD转换生成新的RDD,新的RDD依赖于旧的形成依 赖关系按照RDD分区的依赖关系可分为两种类型:1)窄依赖父RDD的每个分区最多被一个子RDD分区所依赖2)宽依赖子RDD的每个分区都依赖于父RDD的所有分区或多个分区 5.4 Spark RDD第五章内存大数据计算框架Spark RDD窄依赖第一类cog roup第二类 5.4 Spark RD
12、D第五章内存大数据计算框架Spark RDD宽依赖g roupByKey 5.4 Spark RDD第五章内存大数据计算框架Spark RDD行动操作(Action)Action含义collect返回RDD中的所有兀素count返回RDD中兀素的数量countByKey计算键-值对RDD每个键(key)对应的元素个数first返回RDD中“个相take(n)返回RDD中刖n个兀素reduce(func)通过函数func对RDD进行聚合操作saveAsTextFile(path)把RDD保存为一个文本文件,可以选择保存在本地文件 系统、HDFS等。文件中的一行为RDD中的一个元素foreach(
13、func)通过函数func对RDD中的每个元素进行计算,通常在更 新累加器或者使用外部存储系统时用到26 of 30 5.4 Spark RDD第五章内存大数据计算框架Spark RDD作业的执行RDD的转换是惰性的(lazy),遇到Action时才会执行提交作业大数据应用人才培养系列教材第五章内存大数据计算框架Spark51 1 Spark 简介51 2 Spark 部署513 Spark酉己置5.4 Spark RDD5.5 Spark Shell习题 5.5 Spark Shell第五章内存大数据计算框架Spark交互式数据分析工具,适用于:1)快速数据分析2)快速原型开发3)学习Spark API大数据应用人才培养系列教材第五章内存大数据计算框架Spark5.1 Spark 简介5.2 Spa【k部署5.3 Spa【k配置5.4 Spark RDD5.5 Spark Shell习题习题:l.Spark集群有哪几种模式?2.S tanda lone集群中的Master节点和Slave节点分别负责 什么功能?3.S park-submit脚本的功能是什么?4.分布式弹性数据集RDD的特点有哪些?5.列举三个RDD转换操作,并描述其功能。6.列举三个RDD行动操作,并描述其功能。感谢聆听