Spark 2.0: как использовать py-файлы в скрипте - PullRequest
0 голосов
/ 21 сентября 2018

spark 2.1, python 2.6

Как передать файл в py-файлы и использовать его в работе spark.У меня есть работа, которая выглядит следующим образом

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession
import argparse

from depen2 import say_hi

def main(args,spark):
    say_hi()

if __name__ == '__main__':

   spark = SparkSession.builder.enableHiveSupport()\
             .config("hive.exec.dynamic.partition", "true")\
             .config("hive.exec.dynamic.partition.mode", "nonstrict")\
             .getOrCreate()
   spark.sparkContext.addPyFile("depen2.py")
   parser = argparse.ArgumentParser(description='test job')
   args = vars(parser.parse_args())
   main(args,spark)

, а затем я называю ее так:

spark-submit --py-files depen2.py spark-test.py

depen2.py

def say_hi():
   print('hi')

Эта работа работает толькопотому что я локально вытягиваю сценарий depen2.py с from depen2 import say_hi, однако я не думаю, что так оно и должно работать.Если я закомментирую оператор before from, он выдаст ошибку.Я хочу иметь возможность передать сценарий через --py-files, а затем использовать его в коде искры.

Как использовать код, который перетаскивается в контекст искры с помощью addPyFile?spark.say_hi() не похоже на работу.

...