2016 Virtual Summit-Track 5-基于Spark的AWS云端大数据分析-Cao Wiki

合集下载

大数据相关框架讲义(1-11)

大数据相关框架讲义(1-11)

第一讲在win7上安装配置HADOOP伪分布式集群1、安装虚拟机和操作系统VMware-workstation-full-10.0.0 或VirtualBox-4.2.18-88781-Win 下载VMware下载VirtualBoxubuntu-13.04-server-amd64.iso 下载ubuntu2、设置root用户密码sudo passwd root3、上传文件利用WinSCP上传JDK和HADOOP文件,利用putty连接虚拟机中的ubuntu,下载WinSCP,下载putty,下载jdk,下载jdk4、配置JDK和HADOOPtar -xzvf jdk-7u40-linux-x64.tar.gztar -xzvf hadoop-1.2.1.tar.gzsudo vi /etc/profile增加:export JAVA_HOME=/home/ysc/jdk1.7.0_40export PATH=$PATH:$JAVA_HOME/bin: /home/ysc/hadoop-1.2.1/binsource /etc/profile5、配置HADOOP配置主机名称及网络vi /etc/hostname指定名称为host001vi /etc/hosts替换内容为:192.168.137.128 host001同时加入C:\Windows\System32\drivers\etc \hosts文件查看是否启用IPV6:cat /proc/sys/net/ipv6/conf/all/disable_ipv6显示0说明ipv6开启,1说明关闭关闭ipv6的方法:sudo vi /etc/sysctl.conf增加下面几行,并重启#disable IPv6net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1net.ipv6.conf.lo.disable_ipv6 = 1配置SSHcd /home/yscsudo apt-get install openssh-serverssh-keygen -t rsa(密码为空,路径默认)cp .ssh/id_rsa.pub .ssh/authorized_keysssh host001yescd hadoop-1.2.1配置HADOOP环境变量vi conf/hadoop-env.sh增加:export JAVA_HOME=/home/ysc/jdk1.7.0_40配置HADOOP运行参数vi conf/masters改localhost为host001vi conf/slaves改localhost为host001vi conf/core-site.xml<property><name></name><value>hdfs://host001:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/ysc/tmp</value></property>vi conf/hdfs-site.xml<property><name>.dir</name><value>/home/ysc/dfs/filesystem/name</value> </property><property><name>dfs.data.dir</name><value>/home/ysc/dfs/filesystem/data</value></property><property><name>dfs.replication</name><value>1</value></property>vi conf/mapred-site.xml<property><name>mapred.job.tracker</name><value>host001:9001</value></property><property><name>mapred.tasktracker.map.tasks.maximum</name><value>4</value></property><property><name>mapred.tasktracker.reduce.tasks.maximum</name><value>4</value></property><property><name>mapred.system.dir</name><value>/home/ysc/mapreduce/system</value></property><property><name>mapred.local.dir</name><value>/home/ysc/mapreduce/local</value></property>格式化名称节点并启动集群hadoop namenode -format启动集群并查看WEB管理界面start-all.sh访问http://host001:50030可以查看JobTracker 的运行状态访问http://host001:50060可以查看TaskTracker 的运行状态访问http://host001:50070可以查看NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及log 等hadoop jar hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar -input input -output output-streaming -mapper /bin/cat -reducer /usr/bin/wchadoop jar hadoop-1.2.1/hadoop-examples-1.2.1.jar wordcount input output停止集群stop-all.sh第二讲建立开发环境编写HDFS和MAP REDUCE程序1、在eclipse中配置hadoop插件将hadoop-eclipse-plugin-1.2.1.jar 复制到eclipse/plugins目录下,重启eclipse。

AWS大数据架构模式和最佳实践

AWS大数据架构模式和最佳实践
• 批量分析
– MapReduce, Hive, Pig, Spark
• 流处理
– 微-批量: Spark Streaming, KCL, Hive, Pig – 实时: Storm, AWS Lambda, KCL
流处理
批量分析
交互式分析 机器学习
分析
Amazon Machine Learning
Amazon Redshift
Impala
Pig
Streaming
Amazon Kinesis AWS Lambda
Amazon Elastic MapReduce
我应该使用什么流处理技术?
Spark Streaming Apache Storm Amazon Kinesis Client Library
44332211
Shard 1 / Partition 1
44332211
Shard 2 / Partition 2
消费者1
Count of Red = 4
Count of Violet = 4
消费者2
Count of Blue = 4
Count of Green = 4
我应该使用哪个流存储?
Amazon Kinesis
Amazon Kinesis
Amazon DynamoDB
流存储选项
• AWS 托管服务
• Amazon Kinesis → 流 • DynamoDB Streams → 表+流 • Amazon SQS → 队列 • Amazon SNS → 发布/订阅
• 非托管的
• Apache Kafka → 流
Amazon Kinesis
Amazon DynamoDB

spark入门及实践

spark入门及实践

2010’NJUPT
纲要
1
Spark综述 核心技术
5
2
Spark安装部署
Spark应用实例 Scala简介
3
Spark架构
6
4
BDAS简介
7
2010’NJUPT
三、Spark体系架构
1
架构组成
Master Worker
2010’NJUPT
三、Spark体系架构
2
架构图
2010’NJUPT
2010’NJUPT
一、Spark综述
3
Spark与Hadoop
3、执行策略 MapReduce在数据shuffle之前总是花费大量时间来 排序。Spark支持基于Hash的分布式聚合,在需要的时候 再进行实际排序。
4、任务调度的开销 MapReduce上的不同作业在同一个节点运行时,会 各自启动一个JVM。而Spark同一节点的所有任务都可以 在一个JVM上运行。
1
Spark是什么
Spark是基于内存计算的大数据并行 计算框架。Spark基于内存计算,提 高了在大数据环境下数据处理的实 时性,同时保证了高容错性和高可 伸缩性,允许用户将Spark部署在大 量廉价硬件之上,形成集群。 Spark于2009年诞生于加州大学伯 克利分校AMPLab。并且于2010年 Matai zaharia 开源。2013年6月Spark进入 Apache孵化器。目前,已经成为 /matei/ Apache软件基金会旗下的顶级开源 项目。
2010’NJUPT
纲要
1
Spark综述 核心技术
5
2
Spark安装部署
Spark应用实例 Scala简介
3

大数据技术Spark基础实验指导书

大数据技术Spark基础实验指导书

实验一Scala部署及基本语法 (5)1. 安装Scala (6)1.1 进入安装目录 (6)2. Scala基础 (7)2.1 基础语法 (7)2.2 控制结构 (11)实验二Scala数据结构 (13)3. Scala数据结构 (14)3.1 列表 (14)3.2 集合 (14)3.3 映射(Map) (15)3.4 迭代器 (17)实验三Scala类和对象 (20)4. 类 (21)4.1 简单的类 (21)5. 对象 (24)5.1 单例对象 (25)5.2 伴生对象 (25)5.3 应用程序对象 (26)实验四Scala函数式编程WordCount (27)6. 实验操作 (29)6.1 创建需要统计的目录 (29)实验五spark安装部署 (31)1、检查环境hadoop集群环境 (31)2、Spark部署 (32)1实验六Spark RDD编程 (45)1.RDD编程 (46)实验七Spark单词统计实验 (47)2、检查hadoop集群环境 (49)2、创建项目 (50)2.1创建java maven项目 (51)2.2更改JDK版本 (54)2.3配置pom.xml文件 (58)2.4创建SparkWordCount类 (64)4、打包项目 (70)5、运行打包好的jar程序 (76)5.1 运行程序 (76)实验八Spark Hbase读写实验 (77)1、检查hadoop集群环境 (79)2、Hbase创建studen表 (80)2.1 进入hbase环境 (80)2.2 查看表是否存在 (80)2.3 创建student表 (81)2.4 往表里插入数据 (81)2.5 使用scan命令查看表结构 (82)3、创建项目 (83)3.1创建java maven项目 (84)3.2更改JDK版本 (87)3.3配置pom.xml文件 (91)15、Spark运行打包好的jar文件 (101)6、java代码和配置文件(附) (104)实验九Spark stream实验 (109)1.实验准备 (110)2. 创建Scala jar包 (111)2.1 创建Scala项目 (111)2.2 把scala项目Maven管理 (111)3. Spark运行打包好的jar文件 (114)4. java代码和配置文件(附) (116)4.1 Stream类 (116)实验十Spark SQL实验 (119)1.实验准备 (120)5. 创建Scala jar包 (121)5.1 创建Scala项目 (121)5.2 把scala项目Maven管理 (121)6. Spark运行打包好的jar文件 (124)7. java代码和配置文件(附) (126)7.1 SQL类 (126)1旗开得胜实验一Scala部署及基本语法【实验名称】Scala基本语法【实验目的】1.熟悉Scala的安装和基础语法学习12.掌握Scala基本数据类型和操作3.熟悉使用Scala控制语句【实验要求】要求实验结束后,每位学生都能够自行安装Scala,并且能熟悉应用Scala的基础语法和基本数据类型,能在Scala成功编写程序。

aws使用方法

aws使用方法

aws使用方法摘要:1.AWS简介与概述2.AWS服务种类与特点3.AWS使用方法与实践4.安全管理与数据隐私5.总结与展望正文:随着云计算技术的不断发展,Amazon Web Services(AWS)已经成为全球范围内最受欢迎的云计算服务平台。

AWS不仅为各类企业提供了弹性、高性能的技术基础设施,还为广大开发者提供了一个创新、高效的开发环境。

本文将为您详细介绍AWS的使用方法,帮助您更好地利用这一强大平台。

一、AWS简介与概述AWS是亚马逊集团旗下的一套云计算服务产品,始于2006年。

它为用户提供了包括计算、存储、数据库、网络、分析、人工智能等在内的多种服务。

AWS在全球范围内拥有多个数据中心,用户可以根据需求选择最佳的服务区域。

其优势在于弹性、可靠、安全且易于使用,可以帮助企业降低IT成本、提高运营效率,并加速创新。

二、AWS服务种类与特点1.计算服务:Amazon EC2(弹性计算云)允许用户按需创建和终止虚拟机实例,提供可扩展的计算能力。

2.存储服务:Amazon S3(简单存储服务)提供海量、高度可扩展的对象存储,适用于静态网站和数据备份等场景。

3.数据库服务:Amazon RDS(关系型数据库服务)支持MySQL、Oracle、PostgreSQL等主流数据库,简化数据库管理。

4.网络服务:Amazon VPC(虚拟私有云)为用户提供自定义的网络拓扑,实现隔离、安全的企业级应用。

5.分析服务:Amazon Lambda(函数计算服务)支持编写和运行无服务器应用程序,适用于大数据处理和复杂计算。

6.人工智能服务:Amazon SageMaker提供一站式的机器学习服务,帮助开发者快速构建和部署智能应用。

三、AWS使用方法与实践1.注册并登录AWS控制台,了解各项服务的功能和特点。

2.根据业务需求,选择合适的服务和资源,创建、配置和管理实例。

3.学习并运用AWS的最佳实践,提高资源利用率、降低成本。

超越Hadoop驾驭大数据-曹玮祺

超越Hadoop驾驭大数据-曹玮祺

R 介绍
用于统计分析的开源解释型脚本语言 支持混合范式: 命令式语言(~C) 面向对象编程 (~C#) 函数式编程(~Lisp) 为单机、单线程环境设计 Hadoop能够将 R计算扩展至 分布式 系统
详情: /
/Learning-R-Richard-Cotton/dp/1449357105/
AWS 移除限制
AWS 有助于移除限制
AWS 有助于移除限制
1个计算实例 x 1000 小时 = 1000 计算实例 x 1 小时
AWS 有助于移除限制
无需预付资金 + 按需服务 + 弹性且可扩展 + 仅需对使用的部分付费
= AWS 移除各种限制
大数据与AWS云计算
大数据限制
• 数据量: 大量的数据 • 多样性: 需要新工具 • 速度: 迭代式、试验性的数 据操作与分析 • 时间:得到结果的时间比绝 对性能更重要
零售 / 消费 娱乐 酒店
生命科学 科学探索
金融服务
出版 传媒 广告
网络媒体 社会化网络 游戏
大数据是否可以无限扩展?
数据量- 差距
生成数据
非结构化数据呈 现出爆炸式增长 ,预期复合年增 长率(CAGR)为 62%。
来源:IDC
可供分析数据
1990
2000
2010
2020
Gartner: User Survey Analysis: Key Trends Shaping the Future of Data Center Infrastructure Through 2011 IDC: Worldwide Business Analytics Software 2012–2016 Forecast and 2011 Vendor Shares

Spark经典论文笔记---ResilientDistributedDatasets:AF。。。

Spark经典论⽂笔记---ResilientDistributedDatasets:AF。

Spark 经典论⽂笔记Resilient Distributed Datasets : A Fault-Tolerant Abstraction for In-Memory Cluster Computing为什么要设计spark现在的计算框架如Map/Reduce在⼤数据分析中被⼴泛采⽤,为什么还要设计新的spark?Map/Reduce提供了⾼级接⼝可以⽅便快捷的调取计算资源,但是缺少对分布式内存有影响的抽象。

这就造成了计算过程中需要在机器间使⽤中间数据,那么只能依靠中间存储来保存中间结果,然后再读取中间结果,造成了时延与IO性能的降低。

虽然有些框架针对数据重⽤提出了相应的解决办法,⽐如Pregel针对迭代图运算设计出将中间结果保存在内存中,HaLoop提供了迭代Map/Reduce的接⼝,但是这些都是针对特定的功能设计的不具备通⽤性。

针对以上问题,Spark提出了⼀种新的数据抽象模式称为RDD(弹性分布式数据集),RDD是容错的并⾏的数据结构,并且可以让⽤户显式的将数据保存在内存中,并且可以控制他们的分区来优化数据替代以及提供了⼀系列⾼级的操作接⼝。

RDD数据结构的容错机制设计RDD的主要挑战在与如何设计⾼效的容错机制。

现有的集群的内存的抽象都在可变状态(啥是可变状态)提供了⼀种细粒度(fine-grained)更新。

在这种接⼝条件下,容错的唯⼀⽅法就是在不同的机器间复制内存,或者使⽤log⽇志记录更新,但是这两种⽅法对于数据密集(data-intensive⼤数据)来说都太昂贵了,因为数据的复制及时传输需要⼤量的带宽,同时还带来了存储的⼤量开销。

与上⾯的系统不同,RDD提供了⼀种粗粒度(coarse-grained)的变换(⽐如说map,filter,join),这些变换对数据项应⽤相同的操作。

Chapter14厦门大学林子雨-大数据技术原理与应用-第十四章基于Hadoop的数据仓库Hive(

《大数据技术原理与应用》
温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字
第八讲 基于Hadoop的数据仓库Hive
(PPT版本号:2016年4月6日版本)
E-mail: 主页:
《大数据技术原理与应用》
厦2门01大6 学计算机科学系
林子雨
课堂内容与教材对应关系说明
《大数据技术原理与应用》
全方位、一站式服务
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
提纲
• 14.1 概述 • 14.2 Hive系统架构 • 14.3 Hive工作原理 • 14.4 Hive HA基本原理 • 14.5 Impala • 14.6 Hive编程实践
本PPT是如下教材的配套讲义: 21世纪高等教育计算机规划教材 《大数据技术原理与应用 ——概念、存储、处理、分析与应用》 (2015年8月第1版) 厦门大学 林子雨 编著,人民邮电出版社 ISBN:978-7-115-39287-9
第9讲-Hadoop架构再探讨
新增第15章,不在当前第1版教材中,将放入第2版教材
第10讲-流计算
第8章-流计算
第11讲-Spark
新增第16章,不在当前第1版教材中,将放入第2版教材
第12讲-图计算
第9章-图计算
第13讲-数据可视化
第10章-数据可视化
第14讲-大数据在互联网领域的应用 第11章-大数据在互联网领域的应用
厦门大学林子雨编著《大数据技术原理与应用》 2015年8月1日人民邮电出版社出版发行 第1版教材共包含13章内容
第一章 大数据概述 第二章 大数据处理架构Hadoop 第三章 分布式文件系统HDFS 第四章 分布式数据库HBase 第五章 NoSQL数据库 第六章 云数据库 第七章 MapReduce 第八章 流计算 第九章 图计算 第十章 数据可视化 第十一章 大数据在互联网领域的应用 第十二章 大数据在生物医学领域的应用(自学) 第十三章 大数据的其他应用(自学)

大数据分析实用教程——基于Python实现试卷17软工大数据A附答案

衡阳师范学院 2019-2020学年 第一学期 计算机科学与技术学院 软件工程专业 2017级 《云计算与大数据处理原理》期末考试试题A 卷一、单选题(每小题2分,共20分)1. 以下哪项不.是大数据的特点( ) A 、数据量大B 、数据类型多样C 、价值密度高D 、数据真实性2. 云计算的关键技术不.包括下列哪项( )A 、负载均衡B 、虚拟化C 、串行计算D 、按需部署3. 按照虚拟化的层次,Vmware 虚拟机属于( )A. 指令集架构虚拟化B. 硬件抽象层虚拟化C. 操作系统层虚拟化D. 编程语言层虚拟化 4. 平台即服务的英文缩写是( )A. PaaS B .SaaSC. IaaSD. CaaS5. h θ(x)=θT X 可作为下列哪种模型的公式()A 、逻辑回归B 、多元线性回归C 、多重线性回归D 、神经网络6. 下列哪项是MapReduce 编程模型不.能解决的问题是 ( )A .层次聚类法B .K-means 聚类C .朴素贝叶斯分类D .Top K 问题7.在MapReduce程序中,map()函数输入的数据格式是:( )A.字符串B.整型C.键值对D.数组8.下列哪项不属于聚类算法。

( )A、K-中心点B、KNNC、K-meansD、DBScan9.HDFS是基于流数据模式访问和处理超大文件的需求而开发的,适合的读写任务是____。

( )A.一次写入,少次读B.多次写入,少次读C.多次写入,多次读D.一次写入,多次读10.关于SecondaryNameNode 下面哪项是正确的:()A. 它是NameNode 的热备B. 它对内存没有要求C. 它帮助NameNod合并编辑日志,减少NameNode启动时间D. SecondaryNameNode应与NameNode部署到一个节点二、填空题(每空 2 分,共 20 分)1. 按技术路线来看,Hadoop属于云计算(填资源整合型或资源切分型)。

sparkSQL(五)数据源DataSource----jsonhivejdbc等数据的的。。。

sparkSQL(五)数据源DataSource----jsonhivejdbc等数据的的。

1,JSON数据集Spark SQL可以⾃动推断JSON数据集的模式,并将其作为⼀个Dataset[Row]。

这个转换可以SparkSession.read.json()在⼀个Dataset[String]或者⼀个JSON⽂件上完成。

请注意,作为json⽂件提供的⽂件不是典型的JSON⽂件。

每⾏必须包含⼀个单独的,独⽴的有效JSON对象。

有关更多信息,请参阅。

对于常规的多⾏JSON⽂件,请将该multiLine选项设置为true。

例如下⾯的例⼦:private def runJsonDatasetExample(spark: SparkSession): Unit = {import spark.implicits._//创建数据集时,通过导⼊这些//元素可以⽀持原始类型(Int,String等)和Product类型(case类)编码器。

import spark.implicits._// JSON数据集是通过路径指向的。

// 路径可以是单个⽂本⽂件,也可以是存放⽂本⽂件的⽬录val path = "examples/src/main/resources/people.json"val peopleDF = spark.read.json(path)//推断的模式可以使⽤printSchema()⽅法peopleDF.printSchema()// root// |-- age: long (nullable = true)// |-- name: string (nullable = true)//使⽤DataFramepeopleDF.createOrReplaceTempView("people")// SQL语句可以使⽤sparkval teenagerNamesDF = spark.sql("SELECT name FROM people WHERE age BETWEEN 13 AND 19")teenagerNamesDF.show()// +------+// | name|// +------+// |Justin|// +------+//或者,也可以为表⽰的JSON数据集创建⼀个DataFrame//数据集[String]每个字符串val otherPeopleDataset = spark.createDataset("""{"name":"Yin","address":{"city":"Columbus","state":"Ohio"}}""" :: Nil)val otherPeople = spark.read.json(otherPeopleDataset)otherPeople.show()// +---------------+----+// | address|name|// +---------------+----+// |[Columbus,Ohio]| Yin|// +---------------+----+}2,Hive 表1) Spark SQL也⽀持读写存储在Apache Hive中的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

移动服务数据库存储与分发计算与网络应用服务部署与管理AWS全球基础设施分析应用合作伙伴解决方案Autoscaling S3 CloudFront StorageGatewayGlacierElastic LoadBalancingRoute 53区域边缘节点ElasticBeanstalkCloudWatch CloudFormationIdentity &Access ManagementOpsWorksSimple QueueServiceSimple WorkflowServiceElasticTranscoderCloudSearch Simple EmailServiceElastic CloudComputeElastic BlockStoreVirtual PrivateCloudDirectConnectVirtual PrivateNetworkRDS Dynamo Redshift ElastiCacheLibraries & SDKsManagementConsoleCloudTrailAppStreamElastic MapReduceCommand LineInterfaceCliCognito MobileAnalyticsSimple NotificationServiceKinesis AWS DataPipelineWorkspaces ZocaloImport/Export可用区A可用区B可用区C亚马逊AWS平台成本节省和灵活性以可变费用来取代固定资本投入 多种定价模式支持变化和稳定的工作负载类型按需包年预留(1年或3年,3年累计节省63%或更多) 竞价(平均降幅达 86%)当你规模增长时有更低的价格 分层级定价 规模折扣 客户化价格 规模经济让AWS 可以比企业自建有更低的成本 1 2 34 Elastic AWS Actual demand 我们很了解如何运行一个大规模低利润的平台AWS遍布全球的基础设施12个区域(Region)33个可用区(AZ)53个边缘站点云计算的全球领跑者9+ 年商用经验50+ 种云服务1170 种功能特性40251 个实例镜像1900+ 种第三方产品16,000+ 合作伙伴190 个国家, 一百多万客户每天增加的计算能力足以支撑一个70亿美金的公司“AWS 是拥有巨大市场份额的领导者,使用中的计算能力超过其它14家云服务商总和的10倍”•连续5年在所有指标上全都领先 •战略部署云最常用的选择 •唯一推荐供企业级应用使用 •提供IaaS 和PaaS 类服务最丰富的功能 •安全的云选择•领先其它云服务商数年议程•Apache Spark与数据科学•在Amazon EMR上运行Spark •客户案例和架构•运行Spark最佳实践快速的Spark join过滤 groupBy 阶段3阶段1 阶段2 A: B: C: D: E: F: = 缓存分区= RDD 映射 •大规模并行•使用DAGs 代替map-reduce 来运行•在内存中极大地减少RDDs 中的数据存储I/O•Partitioning-aware 避免网络密集型的ShuffleApache Spark•Spark 1.6.0•开源版本发布- Jan 04, 2016•EMR 发布- Jan 27, 2016•包含上千个补丁•Parquet 性能•新的parquet阅读器(old parquet-mr)•两倍于flat模式的速度•自动内存管理•提高了10倍流状态管理速度•数据集•机器学习管道持久性Spark组件与用例的匹配Spark多语言支持And more!Apache Zeppelin notebook用于开发查询现支持 Amazon EMR4.1.0!使用DataFrames轻松地与数据交互•以列的方式来组织分布式的数据集合•现有RDD API扩展•优化了查询执行多格式轻松创建DataFramesRDD通过Spark SQL Data Sources API 读取数据Additional libraries at RedshiftDynamoDBKinesisDataFrame操作示例在机器学习中使用DataFrames•Spark ML libraries (取代MLlib) 使用DataFrames作为模型的输入/输出•通过多种分布式算法创建ML管道流数据上创建DataFrames•使用Spark Streaming DStream访问数据•使用Spark Streaming应用在SparkContext上创建SQLContext用于临时查询•将DataFrame结合到Spark Streaming应用中使用R与DataFrames交互•SparkR包用于使用R来对DataFrames进行操作•创建SparkR应用或交互使用SparkR shell (没有Zeppelin支持 - ZEPPELIN-156)•Python和Scala DataFrames性能类似Spark SQL•将SQL与Spark项目无缝结合•统一数据访问•Hive兼容性–使用HiveContext运行Hive查询无需修改•通过JDBC/ODBC连接Spark在Amazon EMR上的运行专注于洞察你的数据而不是手动配置集群易于安装配置的Spark安全地Spark呈现或使用Zeppelin界面快速添加删除能力每小时的, 预留的, 或EC2 竞价实例使用S3解耦计算和存储运行最新的Spark6.15 – Spark 1.4.1 GA 发布6.24 – Spark 1.4.1 可以在Amazon EMR上使用9.9 – Spark 1.5.0 GA 发布9.30 – Spark 1.5.0 可以在Amazon EMR上使用在最新的开源版本发布后三周之内Amazon EMR 在YARN 上运行Spark•通过引擎动态共享和集中配置集群资源的共同的池•调度器分类、隔离和优先级工作负载 •选择执行器使用的数量,或让YARN 来选择 (动态分配)•Kerberos 身份认证存储S3, HDFSYARNCluster Resource Management批处理MapReduce内存中Spark应用Pig, Hive, Cascading, Spark Streaming, Spark SQL在几分钟内创建一个配置完整的集群AWS 管理控制台AWS Command LineInterface (CLI)Or use an AWS SDK directly with the Amazon EMR API轻松地改变你的设置许多存储层可供选择Amazon DynamoDB EMR-DynamoDB连接器Amazon RDSAmazonKinesisStreaming数据连接器JDBC 数据源w/ Spark SQLElasticsearch连接器Amazon RedshiftAmazon Redshift从HDFS复制EMR 文件系统(EMRFS)Amazon S3Amazon EMR使用S3作为你的数据层来解耦计算和存储HDFSS3是专为11个9的耐用性和可大规模扩展设计的EC2实例的内存Amazon S3Amazon EMRAmazon EMRAmazon EMR易于运行的Spark工作负载提交Spark应用Amazon EMR Step APIAmazon EMRSSH到主节点(Spark Shell)安全的Spark集群–静态加密On-ClusterHDFS 透明加密 (AES 256) [new on releaseemr-4.1.0]本地磁盘通过引导动作使用LUKS为临时文件加密Amazon S3 Amazon S3EMRFS支持Amazon S3客户端和服务端加密(AES 256)安全的Spark集群–动态加密集群节点间通信当使用透明加密时,HDFS 中的块在传输途中被加密Spark的广播和FileServer服务可以使用SSL。

BlockTransferService (for shuffle)不能使用SSL (SPARK-5682).Amazon S3 S3到Amazon EMR集群SSL安全通信如果使用客户端加密,对象会在传输过程中加密安全的Spark集群–附加特性权限:•集群级别: Amazon EMR 服务和集群的IAM角色•应用级别: Kerberos (Spark on YARNonly)•Amazon EMR 服务级别: IAM用户Access: VPC, 安全组Auditing: AWS CloudTrail客户案例一些在Amazon EMR上运行Spark的客户Spark在Amazon EMR上的最佳实践•使用正确的实例•理解执行器•预估执行器大小•YARN上的动态分配•理解存储层•文件格式与压缩•提高性能•数据序列化•避免Shuffle•管理分区•RDD持久性•使用Zeppelin notebookSpark需要什么•内存–很多的内存!!•网络实例•CPU•横向扩展工作流资源机器学习CPUETL I/O实例类型计算优化c1 family c3 family cc1.4xlarge cc2.8xlarge内存优化m2 familyr3 familycr1.8xlarge存储优化d2 familyi2 family通用m1 familym3 family批处理机器学习Spark和交互大型HDFS 尝试不同的配置来找到你的最佳架构。

•使用正确的实例•理解执行器•预估执行器大小•YARN上的动态分配•理解存储层•文件格式与压缩•提高性能•数据序列化•避免Shuffle•管理分区•RDD持久性•使用Zeppelin notebookSpark如何执行•Spark驱动•执行器Spark驱动执行器YARN上的Spark执行器这是所有动作发生的地方-如何选择执行器的数量? -每个执行器多少核心?-举例Amazon EMR集群类型vCPU 内存(GB) SSD 存储(GB)网络rge 2 15.25 1 x 32 中等r3.xlarge 4 30.5 1 x 80 中等r3.2xlarge 8 61 1 x 160 高r3.4xlarge 16 122 1 x 320 高r3.8xlarge 32 244 2 x 320 10 Gigabit创建Amazon EMR集群$ aws emr create-cluster --name ”Spark cluster” \--release-label emr-4.1.0 \--applications Name=Hive Name=Spark \--use-default-roles \--ec2-attributes KeyName=myKey --instance-type r3.4xlarge \ --instance-count 6 \--no-auto-terminate选择执行器核心数量:•一个核心用于操作系统和其他活动•每个执行器4-5个核心将会提供较好的性能•每个执行器可以运行4-5个任务•i.e. 4-5线程用于读写操作到HDFS选择执行器的核心数:--num-executors or spark.executor.instances•每个节点的执行器数量=(节点核心数 − 用于操作系统的一个核心)每个执行器的任务数•16 −15=3 个执行器/节点类型vCPU 内存(GB) SSD 存储(GB)网络r3.4xlarge 16 122 1 x 320 高选择执行器核心数量:--num-executors or spark.executor.instances =3个执行器/节点•16 −15•6个实例•执行器数量=3∗6−1=17容器最大空间YARN 容器使用容器控制最大内存 yarn.nodemanager.resource.memory-mb→ 默认: 116 G配置文件: yarn-site.xml→执行器空间 Spark执行器运行的位置容器最大空间。

相关文档
最新文档