當前位置:成語大全網 - 書法字典 - 如何在ipython或python中使用Spark

如何在ipython或python中使用Spark

在ipython中使用spark

描述:

火花1.6.0

斯卡拉2.10.5

Spark安裝路徑為/usr/usr/local/spark;;SPARK_HOME環境變量已在中配置。巴沙爾。

方法壹

/usr/local/Spark/bin/pyspark默認打開Python,而不是ipython。通過在pyspark文件中添加壹行,用ipython打開。

cp pyspark ipyspark

六ipyspark

#在前面添加

IPYTHON=1

#開始

ipyspark

方法二:

通過為spark創建ipython配置。

#為spark創建ipython配置

ipython配置文件產生火花

#創建啟動配置文件

cd ~/。config/ipython/profile _ spark/startup

vi 00-pyspark-setup.py

在00-pyspark-setup.py中添加以下內容:

導入操作系統

導入系統

#配置環境

如果“SPARK_HOME”不在os.environ中:

OS . environ[' SPARK _ HOME ']= '/SRV/SPARK '

#為我們的根路徑創建變量

SPARK _ HOME = OS . environ[' SPARK _ HOME ']

#將PySpark/py4j添加到Python路徑中

sys.path.insert(0,os.path.join(SPARK_HOME," python "," pyspark "))

sys.path.insert(0,os.path.join(SPARK_HOME," python "," lib "," py4j-0.9-src.zip "))

sys.path.insert(0,os.path.join(SPARK_HOME," python "))

啟動ipython

ipython–profile spark

測試程序

在ipython中輸入壹個命令,如果下面的程序執行後輸出壹個數字,說明是正確的。

從pyspark導入SparkContext

sc = SparkContext( 'local ',' pyspark ')

def isprime(n):

"""

檢查整數n是否是質數

"""

#確保n是正整數

n = abs(int(n))

# 0和1不是素數

如果n & lt2:

返回False

# 2是唯壹的偶數質數

如果n == 2:

返回True

#所有其他偶數都不是質數

如果不是n & amp1:

返回False

#對於所有奇數

對於範圍(3,int(n**0.5)+1,2)中的x:

如果n % x == 0:

返回False

返回True

#創建壹個從0到1,000,000的RDD

nums = sc . parallelize(xrange(1000000))

#計算RDD中素數的個數

打印“結果:”nums.filter(isprime)。計數()

方法3

把上面的程序放到test.py文件中,執行命令pythontest.py,發現壹個錯誤。因為pyspark路徑沒有添加到PYTHONPATH環境變量中。

在~/中添加以下內容。bashrc或/etc/profile:

# python可以直接調用pyspark

導出python path = $ SPARK _ HOME/python:$ SPARK _ HOME/python/pyspark:$ SPARK _ HOME/python/lib/py4j-0.9-src . zip:$ python path

執行以下命令:

#使配置有效

來源~/。bashrc

#測試程序

python test.py

此時,它已經能跑了。