spark和python的区别_python – spark-submit和pyspark有什么区别?

如果我启动pyspark然后运行此命令:

import my_script; spark = my_script.Sparker(sc); spark.collapse('./data/')

一切都很好.但是,如果我尝试通过命令行和spark-submit执行相同的操作,则会收到错误消息:

Command: /usr/local/spark/bin/spark-submit my_script.py collapse ./data/

File "/usr/local/spark/python/pyspark/rdd.py", line 352, in func

return f(iterator)

File "/usr/local/spark/python/pyspark/rdd.py", line 1576, in combineLocally

merger.mergeValues(iterator)

File "/usr/local/spark/python/pyspark/shuffle.py", line 245, in mergeValues

for k, v in iterator:

File "/.../my_script.py", line 173, in _json_args_to_arr

js = cls._json(line)

RuntimeError: uninitialized staticmethod object

my_script:

...

if __name__ == "__main__":

args = sys.argv[1:]

if args[0] == 'collapse':

directory = args[1]

from pyspark import SparkContext

sc = SparkContext(appName="Collapse")

spark = Sparker(sc)

spark.collapse(directory)

sc.stop()

为什么会这样?运行pyspark和运行spark-submit会导致这种分歧有什么区别?我怎样才能在spark-submit中完成这项工作?

编辑:我尝试通过执行pyspark my_script.py collapse ./data/从bash shell运行它,我得到了同样的错误.一切正常的唯一时间是我在python shell中并导入脚本.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值