【问题标题】:How to call python script in Spark?如何在 Spark 中调用 python 脚本?
【发布时间】:2016-10-22 07:53:45
【问题描述】:

我有一个 metrics.py 来计算图表。

我可以在终端命令行中调用它(python ./metrics.py -i [input] [output])。

我想在 Spark 中编写一个函数。它调用metrics.py 脚本在提供的文件路径上运行并收集metrics.py 打印出来的值。

我该怎么做?

【问题讨论】:

    标签: python apache-spark pyspark apache-spark-sql spark-streaming


    【解决方案1】:

    为了运行metrics.py,您基本上将它发送到运行您的Spark Job 的所有执行器节点。

    为此,您可以通过 SparkContext 传递它 -

    sc = SparkContext(conf=conf, pyFiles=['path_to_metrics.py'])
    

    或稍后使用 Spark Context 的 addPyFile 方法传递它 -

    sc.addPyFile('path_to_metrics.py')
    

    无论哪种情况,在那之后,不要忘记导入metrics.py,然后调用提供所需输出的所需函数。

    import metrics
    metrics.relevant_function()
    

    还要确保在所有执行程序节点上安装了在 metrics.py 中导入的所有 python 库。否则,在 spark-submitting 您的工作时使用 --py-files 和 --jars 句柄来处理它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多