我从pyspark开始新的学习,所以请多多包涵。试图找到编写代码的最佳方法。我无法找到答案。从我看到的代码中,我看到了创建Spark会话的2种主要方法。
方法1:使用startspark方法定义一个“ spark.py”文件,在其中定义会话,然后在“ main.py”中使用它-public git repo-https://github.com/AlexIoannides/pyspark-example-project
方法2:使用spark会话定义一个spark客户端类,然后在主实例中实例化它。
Approach1代码:
https://github.com/AlexIoannides/pyspark-example-project
Approach2代码:
class sparkClient:
def __init__(self,threshold,warning_errors,API_VERSION,PAGE_SIZE):
spark = SparkSession.builder.appName("myapp").config("xxxxx", os.path.realpath(os.path.join(os.path.dirname(__file__), os.pardir, "spark-warehouse"))).enableHiveSupport().getOrCreate()
spark.conf.set("spark.hadoop.mapred.output.compress", "true")
spark.conf.set("spark.hadoop.mapred.output.compression.codec",\
"true")
def main():
pass
if __name__ == "__main__":
spark_Client = sparkClient(threshold,warning_errors,API_VERSION,PAGE_SIZE)
spark_session = spark_Client.spark_session
.....