我的代码流程如下所示。 get_row_group_info(path)
部分在执行程序上执行。我有一些逻辑来记录一些数据点。运行流程会引发错误:
SparkSession._activeSession.sparkContext\
AttributeError: 'NoneType' object has no attribute 'sparkContext'
def logger(mssg):
from pyspark.sql import SparkSession
SparkSession._activeSession.sparkContext\
._jvm.com.package.logInfoEvent(msg)
def get_file_system():
#some logging logic
logger.logInfo("Triggered")
return fs
def get_row_group_info(path):
fs = get_file_system()
relative_path = os.path.relpath(path, base_path)
pq_file = fs.open(path)
num_row_groups = pq.read_metadata(pq_file).num_row_groups
pq_file.close()
return relative_path, num_row_groups
row_groups = spark_context.parallelize(paths, len(paths)) \
.map(get_row_group_info) \
.collect()
感谢任何帮助。
答案 0 :(得分:0)
以下是从活动 SparkSession 获取 SparkContext 的方法:
对于 Spark 版本 <3.0.0
SparkSession.builder.getOrCreate().sparkContext
对于 spark 版本 >= 3.0.0
SparkSession.getActiveSession().sparkContext // doc