我是spark / pyspark的新手,需要将它集成到管道中。我已经设法组装了需要在终端中运行的代码。现在,我想将此代码作为脚本执行。但是,当我运行python样式pyspark -c cmds.py
时,我得到Error: Invalid argument to --conf: cmds.py
。
我查看spark-submit --master local cmds.py
,但它返回
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调用实现到我的python管道中。无需外部呼叫......
答案 0 :(得分:0)
我回答的有点晚了,但如果你在pyspark 2.0.0中尝试一些东西,下面的内容可能会有所帮助。
提交pyspark代码:
spark-submit --master mastername samplecode.py
如果您已经安装了longn,或者如果您使用的是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")