如何使用参数将.py文件传递到parallel.futures.executor.submit并在Spark中运行脚本

问题描述

我的任务是将包含func(s)的.py文件传入我的脚本(而不是导入),并在Spark中同时运行作业,我使用current.futures库 下面是我的示例代码。定义DF中的行数是def

from pyspark.sql import SparkSession as sc
from concurrent.futures import ProcesspoolExecutor as PPE,ThreadPoolExecutor as TPE

db = 'db_staging'
table_list = ['batch','source','country','currency']

if __name__ == '__main__':
    spark = sc.builder.appName('pro').enableHiveSupport().getorCreate()
    def get_count(table):
        df = spark.sql("select * from %s.%s" %(db,table))
        ct = df.count()
    future_list = []
    with PPE() as exe:
        for table in table_list: 
            future_list.append(exe.submit(get_count,table))
    for future in future_list:
            print(future)

我在def以下移动到了位于'C:/ Users / admin / script /'上的.py文件

    def get_count(table):
        df = spark.sql("select * from %s.%s" %(db,table))
        ct = df.count()

如何将.py文件和一些参数(args)传递到 exe.submit ,最后在 Spark 中运行?一种可能的方法是使用 subprocess 库。我该如何实现?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)