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

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

一切都OK。但是,如果我尝试通过命令行做同样的事情,引发提交,我得到一个错误:

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、付费专栏及课程。

余额充值