吃吃吃饭桶啊你 2019-03-30 14:30 采纳率: 0%
浏览 1083

windows下使用java实现spark 外部调用python(pipe方式)

spark rdd可以使用管道方式调用外部驱动。

所以想做个尝试,在win7 (64),用java(1.8)实现外部调用python(3.7.2)文件。但是一直失败,报**CreateProcess error=193, %1 不是有效的 Win32 应用程序。**

想请教一下,该如何修改呢

代码如下


###python

import sys

for line in sys.stdin:
    print(line)
    if isinstance(line, str):
        sys.stdout.write(line + "." + line)
    elif isinstance(line, int):
        sys.stdout.write(int(line) + 1)

###java

public static void main(String[] args){
        SparkConf conf = new SparkConf().setAppName("test1").setMaster("local");
        SparkContext sparkContext = new SparkContext(conf);
        sparkContext.setLogLevel("info");
        sparkContext.addFile("E:\\spark_pipe.py");

        JavaSparkContext sc = new JavaSparkContext(sparkContext);
        JavaRDD<Integer> rdd = sc.parallelize(Arrays.asList(1, 2, 3, 4));
        JavaRDD<String> pipe = rdd.pipe(SparkFiles.get("spark_pipe.py"));
        pipe.foreach(s -> System.out.println(s));
    }
  • 写回答

1条回答 默认 最新

  • marvinbb 2019-08-06 14:21
    关注

    使用pipe的时候传入参数为command,意思是命令。而在windows环境下是无法直接执行 xxx.py文件的。言下之意就是如果你想要执行py文件,你需要至少添加例如 python xxx.py命令才能运行。

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?