2016-07-26 15 views
1

Ich bin neu in Spark/Pyspark und muss es in eine Pipeline integrieren. Ich habe es geschafft, den Code zusammenzustellen, der im Terminal ausgeführt werden muss. Jetzt möchte ich diesen Code als Skript ausführen. Jedoch, wenn ich Python-Stil pyspark -c cmds.py ausführen, bekomme ich Error: Invalid argument to --conf: cmds.py. Ich sah in spark-submit --master local cmds.py aber es gibtRun PySpark als Skript

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

Was hier die einfachste Lösung ist? Hier 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'); 

Es könnte ein besserer Weg, um die Datei zu csv zu konvertieren, aber Python ist die einfachste für mich.


Gelöst:

This half die pyspark ruft in meine Python-Pipeline zu implementieren. Keine Notwendigkeit, externen Anruf zu haben ...

+1

Ups, auf einmal zu viele Dinge zu tun. –

+2

Was hat Ihr Problem gelöst? Der Link zum Wort * This * ist unterbrochen. Bitte teile wie und was du getan hast. –

Antwort

0

Ich antworte ein bisschen spät, aber wenn Sie etwas in pyspark 2.0.0 versuchen, könnte die folgende Sache helfen.

den pyspark Code einreichen:

spark-submit --master mastername samplecode.py 

wenn Sie sehnen sich installiert haben, oder wenn Sie AWS EMR verwenden müssen Sie nicht den Master erwähnen müssen als Garn darum kümmern wird.

Der Code innerhalb der samplecode.py würde unten wie etwas aussehen:

# 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")