Introduction to Big Data with Apache Spark 课程总结
课程主要实用内容:
a. 下载,安装visualbox
管理员身份运行;课程要求最新版4.3.28,如果c中遇到虚拟机打不开的,可以用4.2.12,不影响
b. 下载,安装vagrant,重启
管理员身份运行
c. 下载虚拟机
c1.将vagrant加入path,D:\HashiCorp\Vagrant\bin
c2.创建虚拟机存放的目录,比如myvagrant
c3.下载文件mooc-setup-master.zip,解压后,拷贝Vagrantfile到myvagrant
c4.打开visual box图形界面,进入cmd,cd到myvagrant,敲命令 vagrant up
开始下载虚拟机,并打开,如果下载完成,但是打开虚拟机出错;
可以到visual box 图形界面点击打开,碰到一下错误,可尝试用4.2.12版visual box
使用说明:i.打开关闭虚拟机:打开visual box 界面,cd进入myvagrant
vagrant up 打开虚拟机,vagrant halt 关闭虚拟机
ii.ipython notebook,进入http:\\localhost:8001
停止正在运行的notebook,点击running,停止
点某 .py文件,运行note book
iii.下载ssh软件,可登入虚拟机,地址为127.0.0.1,端口2222,用户名vagrant,密码vagrant
进入后,敲pyspark,可进入pyspark交互式界面
3.常用函数
Spark中Rdd的生命周期
创建RDD(parallelize、textFile等)
对RDD进行变换
(会创建新的RDD,不会改变原RDD,有
1.对每个元素进行操作-map,flatMap,mapValues
2.筛选 filter
3.排序 sortBy
3.合并结果 reduceByKey,groupByKey
4.合并两个rdd union,join,leftJoin,rightJoin)
以上步骤中rdd都只相当于一个操作手册,并没有真实地在内存中产生数据,称为lazy evaluation
缓存rdd到内存中 cache() ,判断是否cache,访问 .is_cached属性
触发evaluation(包括top,take,takeOrdered,takeSample,sum,count,distinct,reduce,collect,collectAsMap)
4.变量共享
spark有两种变量共享方式
a.广播 broadcast,broadcast后的变量每个partition都会存储一份,但是只能读取,不能修改
>>> b=sc.broadcast([1,2,3,4,5])
>>> sc.parallelize([0,0]).flatMap(lambdax:b.value)
b.累加器 accumulator,只能写,不能在worker被读取
如果累加器只是一个标量,使用很简单
>>> rdd = sc.parallelize([1,2,3]) >>> def f(x): ... global a ... a += x >>> rdd.foreach(f) >>> a.value 13
如果累加器是一个向量,需要定义AccumulatorParam,且zero方法和addInPlace都要实现
>>> from pyspark.accumulators import AccumulatorParam >>> class VectorAccumulatorParam(AccumulatorParam): ... def zero(self, value): ... return [0.0] * len(value) ... def addInPlace(self, val1, val2): ... for i in xrange(len(val1)): ... val1[i] += val2[i] ... return val1 >>> va = sc.accumulator([1.0, 2.0, 3.0], VectorAccumulatorParam()) >>> va.value [1.0, 2.0, 3.0]>>> defg(x): ... global va ... va += [x] * 3 >>> rdd.foreach(g) >>> va.value [7.0, 8.0, 9.0]
转载于:https://www.cnblogs.com/porco/p/4642512.html
Introduction to Big Data with Apache Spark 课程总结相关推荐
- CS100.1x Introduction to Big Data with Apache Spark
CS100.1x简介 这门课主要讲数据科学,也就是data science以及怎么用Apache Spark去分析大数据. Course Software Setup 这门课主要介绍如何编写和调试Py ...
- 多云时代下数据管理技术_建立一个混合的多云数据湖并使用Apache Spark执行数据处理...
多云时代下数据管理技术 Azure / GCP / AWS / Terraform / Spark (Azure/GCP/AWS/Terraform/Spark) Five years back wh ...
- Why Apache Spark is a Crossover Hit for Data Scientists [FWD]
Spark is a compelling multi-purpose platform for use cases that span investigative, as well as opera ...
- Introducing DataFrames in Apache Spark for Large Scale Data Science(中英双语)
文章标题 Introducing DataFrames in Apache Spark for Large Scale Data Science 一个用于大规模数据科学的API--DataFrame ...
- line和spline_探索适用于Apache Spark的Spline Data Tracker和可视化工具(第1部分)
line和spline 最近引起我注意的一个有趣且很有希望的开源项目是Spline ,它是由Absa维护的Apache Spark数据沿袭跟踪和可视化工具. 该项目由两部分组成:一个在驱动程序上工作的 ...
- 探索适用于Apache Spark的Spline Data Tracker和可视化工具(第1部分)
最近引起我注意的一个有趣且充满希望的开源项目是Spline ,它是由Absa维护的Apache Spark的数据沿袭跟踪和可视化工具. 该项目由两部分组成:一个在驱动程序上工作的Scala库,该驱动程 ...
- Redis RU101课程 Introduction to Redis Data Structures 第5周学习笔记
Geospatial 在这一周,经纬度的概念非常重要,请参考 在任何一本地图上,你都可以看到经线和纬线纵横交织,它们的作用就是为了确定一个地点或地区的位置. 地球像陀螺那样斜着身子旋转着,南极和北极就 ...
- macos 安装scala_如何在MacOS上安装Scala和Apache Spark
macos 安装scala by Jose Marcial Portilla 通过何塞·马西尔·波蒂利亚(Jose Marcial Portilla) 如何在MacOS上安装Scala和Apache ...
- Spark SQL: Relational Data Processing in Spark
Spark SQL: Relational Data Processing in Spark Spark SQL : Spark中关系型处理模块 说明: 类似这样的说明并非是原作者的内容翻译,而是本篇 ...
最新文章
- Robotium todolist.test.elements
- Linux 普通进程 后台进程 守护进程(转)
- reactjs基础知识:原生事件绑定
- 计算机在管理会计应用中的作用,计算机在现代管理会计中的应用(共3736字).doc...
- 纯css3实现的鼠标悬停动画按钮
- 序列化反序列化--Xstream的使用
- layui横向时间线_操盘线:线上阴线满仓,线下阳线清仓
- 字符转获取拼音首字母php实现
- html 动画过度转换的用法,css(动画,过渡,转换)
- ubuntu 导入mysql_Ubuntu16.04系统mysql命令导入导出sql文件
- vscode实现右键文件夹选择open with code
- 安装EUCALYPTUS
- 数据结构实验:数制转换
- matlab时频工具箱简介,matlab时频分析工具箱下载_matlab时频分析工具箱官方下载-太平洋下载中心...
- 介绍两种常见软件开发模式:“敏捷”和“瀑布”
- 债券收益率预测模型_股债收益率模型看A股估值 股债收益率模型(EYBY)是一个经典的股市估值模型,其基本思想是将“股票收益率”(EY)与“债券收益率”(BY)进行对比... - 雪球...
- 程序员的第一次相亲,还没开始,就已经结束了
- 安卓 魔窗SDK 快速接入
- 飞桨领航团AI达人创造营1-让人拍案叫绝的创意都是如何诞生的?(创意课程)
- C++Primer第五版——习题答案详解(六)
热门文章
- Linux下常用软件
- 论文阅读:Multi-Scale Triplet CNN for Person Re-Identification
- hust sci列表
- 【Python学习系列二十二】pandas数据筛选和排序
- MapReduce基础开发之九JDBC连接Hive
- 关于Hadoop多用户管理支持客户端远程操作的理论总结
- 某八位微型计算机地址为20位,微机原理作业及参考答案
- 业余学python数据挖掘怎么赚钱_0基础转行学Python,学到什么地步能拿到月薪15k+?...
- 转载:sqlmap的应用实战
- Java.util.Random 各种方法介绍