pyspark在初始化spark程序时,报错:JavaSparkContext. : java.lang.NullPointerException。
这种情况很可能是由于python程序无法连接到spark,导致返回了空指针。
本例是由于hadoop集群是用的shadownet网段,而pyspark程序所在的容器启动时没有加--network shadownet。
spark_master = 'spark://hadoop-master:7077'
def init_spark():
'''init spark enviroment
'''
configs = dict()
configs["hive_metastore"] = os.environ.get("HIVE_METASTORE", "hadoop-master:9083")
SparkContext.setSystemProperty("hive.metastore.uris",
"thrift://{}".format(configs["hive_metastore"]))
spark = SparkSession \
.builder.master(spark_master) \
.config('spark.sql.autoBroadcastJoinThreshold','-1') \
.appName("test") \
.enableHiveSupport()\
.config('spark.sql.execution.arrow.enabled', 'true')\
.config('spark.driver.maxResultSize', '6g')\
.config('spark.driver.memory', '15g')\
.config('spark.executor.memory', '2g')\
.config('spark.executor.cores', '1')\
.getOrCreate()
return spark
spark = init_spark()