【乾貨】大數據和人工智能.pdf

spark是目前大數據領域的核心技術棧,許多從事數據相關工做的小夥伴都想馴服它,變成"馴龍高手",以便可以駕馭成百上千臺機器組成的集羣之龍來馳騁於大數據之海。
html

但大部分小夥伴都沒能成功作到這一點。有一部分小夥伴糾結在究竟是學pyspark仍是spark-scala上面遲遲未能出征,還有至關一部分倒在了開始的環境配置上,還有一些在幾十幾百個函數的用法中迷失了方向,還有少部分同窗雖然掌握了一些簡單用法,可是沒有掌握性能優化技巧,一旦遇到真正複雜的大數據就毫無辦法。java

最近個人好友"算法美食屋"公衆號的做者雲哥開源了一個pyspark教程:《10天吃掉那隻pyspark》,給有志於成爲大數據"馴龍高手"的小夥伴帶來了福音,如下是這個教程的目錄,簡直就是馴龍祕笈有木有😋😋 ?
python

感興趣的小夥伴能夠掃碼下方二維碼,關注公衆號:算法美食屋。後臺回覆關鍵字:pyspark,獲取項目《eat pyspark in 10 days》github地址。git


如下是這個教程的詳細介紹。
github

一,pyspark 🍎  or spark-scala 🔥 ?

pyspark強於分析,spark-scala強於工程。web

若是應用場景有很是高的性能需求,應該選擇spark-scala.算法

若是應用場景有很是多的可視化和機器學習算法需求,推薦使用pyspark,能夠更好地和python中的相關庫配合使用。sql

此外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,findsparkpip install -i https://pypi.tuna.tsinghua.edu.cn/simple pysparkpip 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和大數據讀者交流羣和你們討論。

本文分享自微信公衆號 - 視學算法(visualAlgorithm)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索