它在Apache Spark文档中说" 在每个Spark应用程序中,多个"作业"(Spark动作)如果由不同的线程提交,可能会同时运行 ".有人可以解释如何实现以下示例代码的并发性吗?
SparkConf conf = new SparkConf().setAppName("Simple_App");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> file1 = sc.textFile("/path/to/test_doc1");
JavaRDD<String> file2 = sc.textFile("/path/to/test_doc2");
System.out.println(file1.count());
System.out.println(file2.count());
Run Code Online (Sandbox Code Playgroud)
这两个工作是独立的,必须同时运行.
谢谢.
一个spark有一个oracle查询.所以我必须并行运行多个作业,以便所有查询同时触发.
如何并行运行多个作业?
我有一个场景,其中包括group by的一定数量的操作必须应用于许多小的(每个~300MB)文件.操作看起来像这样..
df.groupBy(....).agg(....)
现在要在多个文件上处理它,我可以使用通配符"/**/*.csv"但是,它创建一个RDD并将其分区为操作.但是,看一下这些操作,如果文件是互斥的,那么它就是一个分组并涉及大量的shuffle,这是不必要的.
我正在研究的是,我可以在文件上创建独立的RDD并独立操作它们.