2016-02-11 3 views
0

Вот мой файл, который я представить как работу PySpark в Dataproc, через пользовательский интерфейсGoogle Cloud Dataproc - файл задания erroring на sc.textFile() команда

# Load file data fro Google Cloud Storage to Dataproc cluster, creating an RDD 
# Because Spark transforms are 'lazy', we do a 'count()' action to make sure 
#  we successfully loaded the main data file 
allFlt = sc.textFile("gs://mybucket/mydatafile") 
allFlt.count() 
# Remove header from file so we can work w data ony 
header = allFlt.take(1)[0] 
dataOnly = allFlt.filter(lambda line: line != header) 

Она начинается, а затем ошибки с

allFlt = sc.textFile("gs://thomtect/flightinfo") 
NameError: name 'sc' is not defined 

Почему это? Разве не должен быть установлен искровой контекст Дарапроком? Что мне нужно добавить к моему коду, чтобы оно принималось как команды Spark

ответ

3

https://cloud.google.com/dataproc/submit-job имеет пример подачи задания на искрение питона.

Короткий ответ, чтобы добавить следующий код в верхней части скрипта:

#!/usr/bin/python 
import pyspark 
sc = pyspark.SparkContext() 

и расширить немного о том, почему это необходимо: когда Dataproc работает питон сценарии, он использует искровые представить (http://spark.apache.org/docs/latest/submitting-applications.html) вместо запуска оболочки pyspark.

+0

Спасибо Angus. Как для короткого ответа, так и для ссылки –

Смежные вопросы