Wenn ich ein igniteRDD
aus einem Cache mit 10M Einträge in meinem Spark-Job erstellen, wird es alle 10M in meine Funken Kontext laden? Bitte finden Sie meinen Code als Referenz.Apache Ignite und Apache Spark Integration, Cache Laden in Spark-Kontext mit IgniteRDD
SparkConf conf = new SparkConf().setAppName("IgniteSparkIntgr").setMaster("local");
JavaSparkContext context = new JavaSparkContext(conf);
JavaIgniteContext<Integer, Subscriber> igniteCxt = new JavaIgniteContext<Integer,Subscriber>(context,"example-ignite.xml");
JavaIgniteRDD<Integer,Subscriber> cache = igniteCxt.fromCache("subscriberCache");
DataFrame query_res = cache.sql("select id, lastName, company from Subscriber where id between ? and ?", 12, 15);
DataFrame input = loadInput(context);
DataFrame joined_df = input.join(query_res,input.col("id").equalTo(query_res.col("ID")));
System.out.println(joined_df.count());
In dem obigen Code, subscriberCache
ist mehr als 10M Einträge. Werden an irgendeinem Punkt des obigen Codes die 10M Subscriber-Objekte in JVM geladen? Oder es lädt nur die Abfrageausgabe?
FYI: