吃吃吃饭桶啊你 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 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配