Если я создам igniteRDD
из кеша с 10 М записями в моем задании Spark, загрузит ли он все 10 МБ в мой контекст Spark? Пожалуйста, найдите мой код ниже для справки.
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());
В приведенном выше коде subscriberCache
имеет более 10 миллионов записей. Будут ли в какой-либо точке приведенного выше кода объекты 10M Subscriber загружаться в JVM? Или он загружает только вывод запроса?
К вашему сведению: (Ignite работает на отдельной JVM)