Introduction to Big Data with Apache Spark 课程总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Introduction to Big Data with Apache Spark 课程总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2135字,纯文字阅读大概需要4分钟。
内容图文
![Introduction to Big Data with Apache Spark 课程总结](/upload/InfoBanner/zyjiaocheng/1139/ee27df415b084e43bb953eb45a216a21.jpg)
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(parallize、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]
原文:http://www.cnblogs.com/porco/p/4642512.html
内容总结
以上是互联网集市为您收集整理的Introduction to Big Data with Apache Spark 课程总结全部内容,希望文章能够帮你解决Introduction to Big Data with Apache Spark 课程总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。