2016-07-15 7 views
3

エラー名「スパーク」を投げプログラム以下に定義されていませんがpyspark名「スパーク」を投げプログラムが

Traceback (most recent call last): 
File "pgm_latest.py", line 232, in <module> 
    sconf =SparkConf().set(spark.dynamicAllocation.enabled,true)  
     .set(spark.dynamicAllocation.maxExecutors,300)   
     .set(spark.shuffle.service.enabled,true)  
     .set(spark.shuffle.spill.compress,true) 
NameError: name 'spark' is not defined 
spark-submit --driver-memory 12g --master yarn-cluster --executor-memory 6g --executor-cores 3 pgm_latest.py 

コード

#!/usr/bin/python 
import sys 
import os 
from datetime import * 
from time import * 
from pyspark.sql import * 
from pyspark 
import SparkContext 
from pyspark import SparkConf 

sc = SparkContext() 
sqlCtx= HiveContext(sc) 

sqlCtx.sql('SET spark.sql.autoBroadcastJoinThreshold=104857600') 
sqlCtx.sql('SET Tungsten=true') 
sqlCtx.sql('SET spark.sql.shuffle.partitions=500') 
sqlCtx.sql('SET spark.sql.inMemoryColumnarStorage.compressed=true') 
sqlCtx.sql('SET spark.sql.inMemoryColumnarStorage.batchSize=12000') 
sqlCtx.sql('SET spark.sql.parquet.cacheMetadata=true') 
sqlCtx.sql('SET spark.sql.parquet.filterPushdown=true') 
sqlCtx.sql('SET spark.sql.hive.convertMetastoreParquet=true') 
sqlCtx.sql('SET spark.sql.parquet.binaryAsString=true') 
sqlCtx.sql('SET spark.sql.parquet.compression.codec=snappy') 
sqlCtx.sql('SET spark.sql.hive.convertMetastoreParquet=true') 

## Main functionality 
def main(sc): 

    if name == 'main': 

     # Configure OPTIONS 
     sconf =SparkConf() \ 
      .set("spark.dynamicAllocation.enabled","true")\ 
      .set("spark.dynamicAllocation.maxExecutors",300)\ 
      .set("spark.shuffle.service.enabled","true")\ 
      .set("spark.shuffle.spill.compress","true") 

sc =SparkContext(conf=sconf) 

# Execute Main functionality 

main(sc) 
sc.stop() 
+0

以下の使用の代わりに、この

spark.createDataFrame(..) 

...あなたは '例えば、' spark.dynamicAllocation.enabled'を引用し、そうしませんでしたspark'はPython変数として定義されていません –

答えて

1

が定義されていない私はあなたが2よりも古いスパークバージョンを使用していると思います。バツ。あなたのトレースバックは、あなたのコードが一致しません

> df = sqlContext.createDataFrame(...) 
関連する問題