jiapeng.xiao@datayes; taotao.li@datayes.com 12/16/2014 Spark Fire Where there is spark, there is fire jiapeng.xiao@datayes; taotao.li@datayes.com 12/16/2014
1 2 3 4 Content The Birth and Power of Spark Spark Cluster Configure Spark Task Demo 4 Deep Into Databricks
The Birth and Power of Spark : 比你换对象的速度还快! Just the beginning of BDAS 成为Apache顶级项目 2014 正式入驻Apache 2013 2009 : Spark诞生于伯克利大学AMPLab 2010 : 正式开源 2009~2010
The Birth and Power of Spark:想不爱,太难! 1 Speed tooooooooo fast...compared with hadoop: 100x in memory, 10x on disk 2 Easy to use: scala, python, java people can use 3 Generality: SQL, Streaming, Mlib, GraphX -> BDAS 4 Compatible: runs on hadoop, mesos, standalone, cloud; get data from HDFS, Cassandra, HBase, S3
The Birth and Power of Spark:天下武功,唯快不破! 配置:EC2 master node: *1 slave node: *3 [each 2 cpus, 15.7GB mem] 任务: 20GB wikipedia 流量数据,计算英文条目数量。 本例中所有条目数量: 329,641,466 其中有英文条目数量: 122,352,588 比较: On disk: 90-150s; In mem: 2-3s;
The Birth and Power of Spark:天下武功,唯快不破!
Spark Cluster Configure
Spark Cluster Configure 1. 2. 3. 应用程序逻辑 . Driver Program 给应用分配、管理计算资源。一旦你的Driver Node连接上Cluster Manager,spark将会处理下面三件事: 1. 连接计算节点,这些节点是用来运行你的应用程序和存储应用数据的; 2. 把你在Driver Program里定义的应用逻辑发送到计算节点上; 3. 在每个节点上分配计算任务; Cluster Manager 你的所有计算资源 . Nodes
Spark Task Demo : word count RDD 1 RDD 2 RDD 3 RDD 4 RDD 5 Origin Content sc.textFile Apply split to each line flatMap(line => line.split(" ")) Combine to a tuple map(x=>(x,1)).reduceByKey(_+_) Doing swap key and value map(x=>(x._2, x._1) RDD Lineage Sortby key(that's value) sortByKey(false)
Spark Task Demo : my resource cluster resource resource assigned to me
Spark Task Demo : cluster resource 每个应用的资源可以申请,现在假设每个应用都只需要2.6GB,现在的集群规模可以容纳61.9*9/2.6 = 214个应用。按每个用户只运行一个app的话,可以供214个用户。 参考:EC2免费版配置:6 CPUs,45 GB MEM;
Deep Into Databricks : components 01. Notebooks 02. Dashboards 03. Tables 04. Clusters 05. Libraries 第一PPT模板网,PPT素材下载 www.1ppt.com/sucai/
Deep Into Databricks : Feature Notebooks 选语言 选集群 分类解析 %md %sql default sql Dashboards 协作/分享 实时更新 Tables 上传数据 每一个数据文件视为一个完整的数据库/数据表,可在notebooks里面用sql来操作
Deep Into Databricks : Feature Clusters 创建/修改集群配置 S3/EC2 Libraries 上传个人代码库 可在notebooks里导入
谢 谢