2016-07-26 42 views
1

我是spark/pyspark的新手,需要將它集成到管道中。我設法組裝需要在終端中運行的代碼。現在,我想將這些代碼作爲腳本執行。但是,當我運行python樣式pyspark -c cmds.py時,我得到Error: Invalid argument to --conf: cmds.py。 我看着spark-submit --master local cmds.py但它返回以腳本運行PySpark

File "/path/cmd.py", line 4, in <module> 
    sparkValues = SQLContext.read.parquet('/a/file/ranks.parquet'); 
AttributeError: 'property' object has no attribute 'parquet' 

什麼是這裏最簡單的解決方案? 這裏的cmds.py

from pyspark import SparkConf, SparkContext 
from pyspark.sql import SQLContext 

sparkValues = SQLContext.read.parquet('/a/file/ranks.parquet'); 
pandaValues = sparkValues.toPandas(); 
pandaValues.to_csv('/a/file/ranks.csv'); 

有可能是一個更好的方法來將文件轉換爲csv,但是Python是最簡單的我。


解決:

This有助於實現pyspark調用到我的蟒蛇管道。沒有必要有外部電話...

+1

UPS,同時做太多的事情。 –

+2

什麼解決了你的問題?鏈接* This *的鏈接已損壞。請分享你的做法和做法。 –

回答

0

我回答有點晚,但如果您嘗試的東西在pyspark 2.0.0下面的東西可能會有所幫助。

提交pyspark代碼:

spark-submit --master mastername samplecode.py 

如果你嚮往安裝,或者如果您正在使用AWS EMR你沒有提到主紗將照顧它。

的samplecode.py內的代碼看起來像下面的東西:

# intialize sparkSession 
from pyspark.conf import SparkConf 
from pyspark.sql import SparkSession 
spark =SparkSession.builder.config(conf=SparkConf()).appName("yourappnam").getOrCreate() 
df = spark.sql("select * from abc")