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));
}