高州做網(wǎng)站seo咨詢茂名
Spark是什么
定義:Apache Spark是用于大規(guī)模數(shù)據(jù)(large-scala data)處理的統(tǒng)一(unified)分析引擎。
?簡單來說,Spark是一款分布式的計算框架,用于調(diào)度成百上千的服務(wù)器集群,計算TB、PB乃至EB級別的海量數(shù)據(jù)
?Python On Spark
Spark作為全球頂級的分布式計算框架,支持眾多的編程語言進行開發(fā)。 而Python語言,則是Spark重點支持的方向。
?PySpark
park對Python語言的支持,重點體現(xiàn)在,Python第三方庫:PySpark之上。
PySpark是由Spark官方開發(fā)的Python語言第三方庫。
Python開發(fā)者可以使用pip程序快速的安裝PySpark并像其它三方庫那樣直接使用。
?Why PySpark
Python應(yīng)用場景和就業(yè)方向是十分豐富的,其中,最為亮點的方向為:
大數(shù)據(jù)開發(fā) 和 人工智能
總結(jié):
1. 什么是Spark、什么是PySpark
- Spark是Apache基金會旗下的頂級開源項目,用于對海量數(shù)據(jù)進行大規(guī)模分布式計算。
- PySpark是Spark的Python實現(xiàn),是Spark為Python開發(fā)者提供的編程入口,用于以Python代碼完成Spark任務(wù)的開發(fā)
- PySpark不僅可以作為Python第三方庫使用,也可以將程序提交的Spark集群環(huán)境中,調(diào)度大規(guī)模集群進行執(zhí)行。
2. 為什么要學(xué)習(xí)PySpark?
大數(shù)據(jù)開發(fā)是Python眾多就業(yè)方向中的明星賽道,薪資高崗位多,Spark(PySpark)又是大數(shù)據(jù)開發(fā)中的核心技術(shù)
PySpark庫的安裝?
同其它的Python第三方庫一樣,PySpark同樣可以使用pip程序進行安裝。
在”CMD”命令提示符程序內(nèi),輸入:
pip install pyspark
或使用國內(nèi)代理鏡像網(wǎng)站(清華大學(xué)源)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark
?構(gòu)建PySpark執(zhí)行環(huán)境入口對象
想要使用PySpark庫完成數(shù)據(jù)處理,首先需要構(gòu)建一個執(zhí)行環(huán)境入口對象。
PySpark的執(zhí)行環(huán)境入口對象是:類 SparkContext 的類對象
"""
演示pyspark
"""
# 導(dǎo)包
from pyspark import SparkConf, SparkContext# 創(chuàng)建SparkConf類對象
# 鏈式調(diào)用
conf = SparkConf().\setMaster("local[*]").\setAppName("test_spark_app")
# .setMaster設(shè)置運行模式
# .setAppName設(shè)置程序的名稱
# 可以寫成這樣
# conf = SparkConf()
# conf.setMaster("local[*]")
# conf.setAppName("test_spark_app")# 基于SparkConf類對象創(chuàng)建SparkContext類對象
sc = SparkContext(conf=conf)
# 打印PySpark類對象
print(sc.version)
# 停止SparkContext對象的運行(停止PySpark程序)
sc.stop()
PySpark的編程模型
SparkContext類對象,是PySpark編程中一切功能的入口。
PySpark的編程,主要分為如下三大步驟:
?
- ?通過SparkContext對象,完成數(shù)據(jù)輸入
- 輸入數(shù)據(jù)后得到RDD對象,對RDD對象進行迭代計算
- 最終通過RDD對象的成員方法,完成數(shù)據(jù)輸出工作
總結(jié):
1. 如何安裝PySpark庫
????????pip install pyspark
2. 為什么要構(gòu)建SparkContext對象作為執(zhí)行入口
????????PySpark的功能都是從SparkContext對象作為開始
3. PySpark的編程模型是?
- 數(shù)據(jù)輸入:通過SparkContext完成數(shù)據(jù)讀取
- 數(shù)據(jù)計算:讀取到的數(shù)據(jù)轉(zhuǎn)換為RDD對象,調(diào)用RDD的成員方法完成計算
- 數(shù)據(jù)輸出:調(diào)用RDD的數(shù)據(jù)輸出相關(guān)成員方法,將結(jié)果輸出到list、元組、字典、文本文件、數(shù)據(jù)庫等