spark是目前大数据领域的核心技术栈,许多从事数据相关工作的小伙伴都想驯服它,变成"驯龙高手",以便能够驾驭成百上千台机器组成的集群之龙来驰骋于大数据之海。

但大部分小伙伴都没能成功做到这一点。有一部分小伙伴纠结在到底是学pyspark还是spark-scala上面迟迟未能出征,还有相当一部分倒在了开始的环境配置上,还有一些在几十几百个函数的用法中迷失了方向,还有少部分同学虽然掌握了一些简单用法,但是没有掌握性能优化技巧,一旦遇到真正复杂的大数据就毫无办法。

最近我的好友"算法美食屋"公众号的作者云哥开源了一个pyspark教程:《10天吃掉那只pyspark》,给有志于成为大数据"驯龙高手"的小伙伴带来了福音,以下是这个教程的目录,简直就是驯龙秘笈有木有???????? ?

感兴趣的小伙伴可以扫码下方二维码,关注公众号:算法美食屋。在后台回复关键字:pyspark,获取项目《eat pyspark in 10 days》github地址。

以下是这个教程的详细介绍。

一,pyspark ????  or spark-scala ???? ?

pyspark强于分析,spark-scala强于工程。

如果应用场景有非常高的性能需求,应该选择spark-scala.

如果应用场景有非常多的可视化和机器学习算法需求,推荐使用pyspark,可以更好地和python中的相关库配合使用。

此外spark-scala支持spark graphx图计算模块,而pyspark是不支持的。

pyspark学习曲线平缓,spark-scala学习曲线陡峭。

从学习成本来说,spark-scala学习曲线陡峭,不仅因为scala是一门困难的语言,更加因为在前方的道路上会有无尽的环境配置痛苦等待着读者。

而pyspark学习成本相对较低,环境配置相对容易。从学习成本来说,如果说pyspark的学习成本是3,那么spark-scala的学习成本大概是9。

如果读者有较强的学习能力和充分的学习时间,建议选择spark-scala,能够解锁spark的全部技能,并获得最优性能,这也是工业界最普遍使用spark的方式。

如果读者学习时间有限,并对Python情有独钟,建议选择pyspark。pyspark在工业界的使用目前也越来越普遍。

二,本书???? 面向读者????

本书假定读者具有基础的的Python编码能力,熟悉Python中numpy, pandas库的基本用法。

并且假定读者具有一定的SQL使用经验,熟悉select,join,group by等sql语法。

三,本书写作风格????

本书是一本对人类用户极其友善的pyspark入门工具书,Don't let me think是本书的最高追求。

本书主要是在参考spark官方文档,并结合作者学习使用经验基础上整理总结写成的。

不同于Spark官方文档的繁冗断码,本书在篇章结构和范例选取上做了大量的优化,在用户友好度方面更胜一筹。

本书按照内容难易程度、读者检索习惯和spark自身的层次结构设计内容,循序渐进,层次清晰,方便按照功能查找相应范例。

本书在范例设计上尽可能简约化和结构化,增强范例易读性和通用性,大部分代码片段在实践中可即取即用。

如果说通过学习spark官方文档掌握pyspark的难度大概是5,那么通过本书学习掌握pyspark的难度应该大概是2.

仅以下图对比spark官方文档与本书《10天吃掉那只pyspark》的差异。

四,本书学习方案 ⏰

1,学习计划

本书是作者利用工作之余大概1个月写成的,大部分读者应该在10天可以完全学会。

预计每天花费的学习时间在30分钟到2个小时之间。

当然,本书也非常适合作为pyspark的工具手册在工程落地时作为范例库参考。

2,学习环境

本书全部源码在jupyter中编写测试通过,建议通过git克隆到本地,并在jupyter中交互式运行学习。

为了直接能够在jupyter中打开markdown文件,建议安装jupytext,将markdown转换成ipynb文件。

为简单起见,本书按照如下2个步骤配置单机版spark3.0.1环境进行练习。

#step1: 安装java8
#jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
#java安装教程:https://www.runoob.com/java/java-environment-setup.html
#step2: 安装pyspark,findspark
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark
pip install findspark

此外,也可以在和鲸社区的云端notebook中直接运行pyspark,没有任何环境配置痛苦。详情参考该项目的readme文档。

import findspark#指定spark_home,指定python路径
spark_home = "/Users/liangyun/anaconda3/lib/python3.7/site-packages/pyspark"
python_path = "/Users/liangyun/anaconda3/bin/python"
findspark.init(spark_home,python_path)import pyspark
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("test").setMaster("local[4]")
sc = SparkContext(conf=conf)print("spark version:",pyspark.__version__)
rdd = sc.parallelize(["hello","spark"])
print(rdd.reduce(lambda x,y:x+' '+y))
spark version: 3.0.1
hello spark

五,鼓励和联系作者

感兴趣的小伙伴可以扫码下方二维码,关注公众号:算法美食屋,后台回复关键字:pyspark,获取项目《eat pyspark in 10 days》github地址。

也可以在公众号后台回复关键字:spark加群,加入spark和大数据读者交流群和大家讨论。

【干货】大数据和人工智能.pdf相关推荐

  1. 干货 | 大数据人工智能领域从菜鸟到高手晋级指南

    作者 | 王明哲.王存光 校对 | 丁楠雅 本文长度为5600字,建议阅读10分钟 本文为你剖析当下的时代背景,为在大数据江湖中修炼的行者提供升级建议. 我们身处一个"技术爆炸"和 ...

  2. 大数据、人工智能、VR、Docker、前端,双11技术视频、讲义、文章一键get

    诚然,每届双11对阿里来说都是一次大考,然而,1207亿的背后,考校的绝不仅是阿里的系统支撑能力,比如: 17.5万笔/秒的交易订单数峰值,2015年是14.05万笔:12万笔/秒的支付峰值,2015 ...

  3. 熬夜精心整理的一线大厂大数据、人工智能全套教程下载(含视频+源码)!!...

    如今随着环境的改变,也经常关注技术圈的发展,但自己适合的技术发展道路该怎么走,也算有个方向了. 但是技术有自己的发展周期,众所周知的很多语言技术已经在长久的历史发展中掩埋,这期间不少的程序员也走出的自 ...

  4. 独家 | 王海峰:百度大数据与人工智能(附PPT下载)

    1月28日上午,由中国工程院和清华大学联合主办的"长城工程科技会议"第四次会议工业大数据分会在清华大学信息科技大楼召开.中国工程院院士李伯虎.工业和信息化部信息化和软件服务业司副司 ...

  5. 大数据和人工智能时代下的运筹学

    首发于[运筹帷幄]大数据和人工智能时代下的运筹学 大话"人工智能.数据科学.机器学习"--综述 1 2 个月前 作者系美国克莱姆森大学运筹学硕士,Ph.D. Candidate,师 ...

  6. 【报告分享】2019年大数据行业研究报告.pdf(附下载链接)

    今天给大家分享报告是前瞻产品研究院于2019年11月发布的<2019年中国大数据行业研究报告.pdf>,白皮书包括四大部分:1.大数据行业发展现状:2.大数据应用场景分析:3.大数据行业典 ...

  7. 只有它才能让云计算、大数据、人工智能大放异彩?它究竟有什么魔力?

    对比20年前的生活,智能手机.社交网络等智能应用改变了我们的生活.但当AlphaGo第一次战胜围棋世界冠军:当大数据,让人脑信息转换为电脑信息成为可能:当万物互联就在你的身边.越来越多的新鲜事物呈现在 ...

  8. 大数据和人工智能的关系,超全解析 1

    大数据拥抱云计算 在PaaS层中一个复杂的通用应用就是大数据平台.大数据是如何一步一步融入云计算的呢? 1数据不大也包含智慧 一开始这个大数据并不大.原来才有多少数据?现在大家都去看电子书,上网看新闻 ...

  9. 每日新闻:国务院印发“双创”升级版意见;北京城区禁止新建数据中心;亿元融资威客瞄准大数据和人工智能;工信部对信息通信发展四点倡议...

    关注中国软件网 最新鲜的企业级干货聚集地 今日热点 国务院印发"双创"升级版意见 推双创高质量发展 近日,国务院日前印发<关于推动创新创业高质量发展打造"双创&qu ...

最新文章

  1. linux+while循环多条件,有效的while循环条件客户端选择(TCP连接在Linux - C)
  2. 给WIN2003 IIS SQL服务器安全加固
  3. 【Python基础】Matplotlib官方小抄手册公开(配套可视化代码)!
  4. 桥接模式coding
  5. binlog工具_MySQL5.6新增的参数binlog_row_image到底怎么设置-爱可生
  6. Permutations CodeForces - 736D (矩阵逆)
  7. 华为云服务器实战 之 Gitlab安装与配置使用
  8. python的while循环时if不能打印_Python if语句在while循环中没有响应
  9. Eigen官网教程(5) 规约、范数等
  10. tomcat xjar 加密_XJar Spring Boot JAR 安全加密运行工具
  11. 达观数据郭权:用好ngResource和postman,提高你的开发调试效率
  12. SQLyog备份数据库
  13. JUC中的Atomic原子类
  14. 通达OA数据库服务断电无法启动的处理方法(亲测2020-10-07。通达OA2017版本)
  15. 无线Mesh网络技术及其应用
  16. 伊利诺伊大学在线计算机硕士,UIUC伊利诺伊大学厄巴纳香槟分校计算机科学硕士MSc in Computer Science...
  17. 怎样创建一个计算机用户,如何创建域用户账户
  18. Verizon的野望
  19. 63.QT-重写QStackedWidget模仿iphone的home界面,实现左右滑动
  20. ArcGIS GeoEvent 使用教程(一)

热门文章

  1. 【C#串口编程计划】串口编程简介
  2. Matlab与机器学习-- 数据的归一化
  3. 380万播放量,也许是全网最火的机器学习视频
  4. 中国AI已进入迷茫阶段!从技术到科学,AI该何去何从?
  5. 哪家互联网公司涨薪最厉害?居然不是阿里腾讯
  6. 就在今晚 | 港科大李世玮教授问诊未来,开辟大湾区新航路
  7. 22张精炼图笔记,深度学习专项学习必备
  8. 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现
  9. 嫌Terminal终端太单调?快收下这几个有趣的改造工具!
  10. 如何通过深度学习轻松实现自动化监控?