色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何在您的計算機上使用PySpark?

吉茹定2年前13瀏覽0評論

在mac系統(tǒng)安裝pyspark教程

介紹

ApacheSpark是數據處理框架中最熱門,規(guī)模最大的開源項目之一,它具有豐富的高級API,可用于Scala,Python,Java和R等編程語言。

Spark提供了一個很棒的PythonAPI,稱為PySpark。這使Python程序員可以與Spark框架進行交互-允許您大規(guī)模處理數據并使用分布式文件系統(tǒng)上的對象。

在Mac上安裝Spark(本地)

第一步:安裝Brew

如果已經安裝過了brew,可以跳過此步驟:

1.在Mac上打開終端(terminal)

2.輸入下面的命令。

$/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"

3.點擊回車繼續(xù),或按任何其他鍵放棄。

4.它可能要求sudo特權。如果發(fā)生這種情況,需要輸入管理員密碼,然后再次點擊回車。

第二步:安裝Anaconda

在同一終端中,只需輸入:

$brewcaskinstallanaconda

第三步:安裝PySpark

1.終端類型

$brewinstallapache-spark

2.如果看到以下錯誤消息,

請執(zhí)行

$brewcaskinstallcaskroom/versions/java8

來安裝Java8,如果已安裝,則不會看到此錯誤。

3.在終端上輸入,檢查pyspark是否正確安裝。

$pyspark

如果您看到以下內容,則表明它已正確安裝:

使用PySpark準備打開Jupyter筆記本

本節(jié)假定PySpark已正確安裝,并且在終端上鍵入時沒有出現錯誤

$pyspark

在這一步,我將介紹您必須執(zhí)行的步驟,以創(chuàng)建使用SparkContext自動初始化的JupyterNotebook。為了為您的終端會話創(chuàng)建全局配置文件,您將需要創(chuàng)建或修改.bash_profile或.bashrc文件。在這里,我將使用.bash_profile作為示例

1.檢查您的系統(tǒng)中是否有.bash_profile$ls-a,如果沒有,請使用創(chuàng)建一個

$touch~/.bash_profile

2.通過運行查找Spark路徑

$brewinfoapache-spark

3.如果您已經有一個.bash_profile,請執(zhí)行

$vim~/.bash_profile

打開它,按”i“進行插入,然后將以下代碼粘貼到任何位置(請勿刪除文件中的任何內容):

exportSPARK_PATH=(pathfoundabovebyrunningbrewinfoapache-spark)
exportPYSPARK_DRIVER_PYTHON="jupyter"
exportPYSPARK_DRIVER_PYTHON_OPTS="notebook"
#Forpython3,Youhavetoaddthelinebeloworyouwillgetanerror#
exportPYSPARK_PYTHON=python3
aliassnotebook='$SPARK_PATH/bin/pyspark--masterlocal[2]'

4.按ESC退出插入模式,輸入:wq以退出VIM。您可以在此處完善更多的VIM命令。

5.通過$source~/.bash_profile在JupyterNotebook中使用PySpark的最喜歡的方式刷新終端配置文件是通過安裝findSpark軟件包,該軟件包使我可以在代碼中使用SparkContext。

findSpark包并非特定于JupyterNotebook,您也可以在自己喜歡的IDE中使用此技巧。

通過在終端上運行以下命令來安裝findspark

$pipinstallfindspark

啟動常規(guī)的JupyterNotebook,然后運行以下命令:

#usefultohavethiscodesnippettoavoidgettinganerrorincaseforgeting
#toclosespark

try:
spark.stop()
except:
pass

#Usingfindsparktofindautomaticallythesparkfolder
importfindspark
findspark.init()

#importpythonlibraries
importrandom

#initialize
frompyspark.sqlimportSparkSession
spark=SparkSession.builder.master("local[*]").getOrCreate()
num_samples=100000000

definside(p):
x,y=random.random(),random.random()
returnx*x+y*y<1

count=spark.sparkContext.parallelize(range(0,num_samples)).filter(inside).count()
pi=4*count/num_samples
print(pi)

輸出應為:

3.14179228

啟動SparkSession

SparkSession是Spark功能的主要切入點:它表示與Spark集群的連接,您可以使用它來創(chuàng)建RDD并在該集群上廣播變量。當您使用Spark時,一切都以此SparkSession開始和結束。請注意,SparkSession是Spark2.0的一項新功能,可最大程度地減少要記住或構造的概念數量。(在Spark2.0.0之前,三個主要的連接對象是SparkContext,SqlContext和HiveContext)。

在交互式環(huán)境中,已經在名為spark的變量中為您創(chuàng)建了SparkSession。為了保持一致性,在自己的應用程序中創(chuàng)建名稱時應使用該名稱。

您可以通過生成器模式創(chuàng)建一個新的SparkSession,該生成器模式使用“流利的接口”樣式的編碼通過將方法鏈接在一起來構建新對象。可以傳遞Spark屬性,如以下示例所示:

frompyspark.sqlimportSparkSession
spark=SparkSession\
.builder
.master("local[*]")
.config("spark.driver.cores",1)
.appName("testpyspark")
.getOrCreate()

在您的應用程序結束時,請記住調用spark.stop()以結束SparkSession。讓我們了解上面定義的各種設置:

·master:設置要連接的Spark主URL,例如“l(fā)ocal”在本地運行,“l(fā)ocal[4]”在4核本地運行,或“spark://master:7077”在Spark獨立集群上運行。

·config:通過指定(鍵,值)對來設置配置選項。

·appName:設置應用程序的名稱,如果未設置名稱,將使用隨機生成的名稱。

·getOrCreate:獲取一個現有文件SparkSession;如果不存在,則根據此構建器中設置的選項創(chuàng)建一個新文件。如果返回了現有的SparkSession,SQLContext則將應用此構建器中指定的影響配置的配置選項。由于SparkContext無法在運行時修改配置(您必須先停止現有上下文),而SQLContext可以在運行時修改配置。

結論

如果您有大型數據集需要處理,推薦您使用pyspark。對于小型數據集(幾GB),建議使用Pandas。