我是Flink的新手,目前正致力于将Spark中的一些代码示例转换为Flink。
Flink中JavaSparkContext
中并行化方法的类似功能是什么?我试图转换以下代码:
JavaRDD<Integer> workload = ctx.parallelize(Arrays.asList(init_val), parallel).map(new Function<Integer, Integer>() {
@Override
public Integer call(Integer s) throws InterruptedException {
Thread.sleep(s * 1000);
return 0;
}
});
答案 0 :(得分:0)
Flink相当于JavaSparkContext.parallelize()
是ExecutionEnvironment.fromCollection()
。
因此,您的代码段应转换为:
// get execution environment
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// create data set from collection
DataSet<Integer> input = env.fromCollection(Arrays.asList(init_val));
// apply map function
DataSet<Integer> result = input.map(new MapFunction<Integer, Integer>() {
@Override
public Integer map(Integer s) {
Thread.sleep(s * 1000);
return 0;
}
}).setParallelism(parallel); // set parallelism of map function
答案 1 :(得分:0)
您可以使用fromCollection
提供的ExecutionEnvironment
方法。
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Integer> input = env.fromCollection(inputList);