Я пытаюсь выполнить простую вставку в кеш Ignite (версия 2.2) из приложения Spark, используя приведенный ниже код (в scala):
val addresses=new util.ArrayList[String]()
addresses.add("127.0.0.1:48500..48520")
// IGNITE CONTEXT CONFIGURATIONS
val igniteContext:IgniteContext=new IgniteContext(sc,()=>new IgniteConfiguration()
.setDiscoverySpi(new TcpDiscoverySpi().
setLocalPort(48511).setLocalPortRange(20).setIpFinder(new TcpDiscoveryVmIpFinder().setAddresses(addresses))),true)
// CHECKING IF Spark CACHE IS PRESENT
println(igniteContext.ignite().cacheNames())
// RETURNS [Spark]
// FETCHING THE SPARK CACHE
val ignite_cache_rdd:IgniteRDD[String,Custom_Class] =igniteContext.fromCache[String,Custom_Class]("Spark")
// SAVING PAIR_RDD TO CACHE
ignite_cache_rdd.savePairs(ignite_PairRDD)
// PRINTING CONTENTS FROM CACHE
ignite_cache_rdd.sql("select * from Custom_Class").show(truncate = false)
//RETURNS AN EMPTY DATAFRAME
Содержимое поля значения ignite_PairRDD при преобразовании в Dataframe отображается без проблем:
+-+-+-+
A |B |C|
--------
22|6 |7|
+-+-+-+
Проблема в том, что после использования «savePairs» и выполнения «show ()» кеш Ignite кажется пустым.
+-+-+-+
A |B |C|
--------
| | |
+-+-+-+
Кэш "Spark" имеет следующие конфигурации (в java):
CacheConfiguration cache_conf=new CacheConfiguration<String,Custom_Class>().setCacheMode(CacheMode.PARTITIONED).setAtomicityMode(CacheAtomicityMode.ATOMIC).setBackups(1).
setIndexedTypes(String.class,Custom_Class.class).setName("Spark");
Custom_Class создается с использованием следующей структуры:
public class Equity_Data implements Serializable {
@QuerySqlField(index = true)
private A;
@QuerySqlField(index = true)
private B;
@QuerySqlField(index = true)
private C;
}
Я обязательно проверил, существует ли кеш, и SQL-запрос кажется правильным, потому что я не получаю никаких ошибок, только пустой фрейм данных.
Мне нужно изменить какую-то конфигурацию? Спасибо.
Я бы предложил создать небольшой проект репродуктора и отправить его в список рассылки пользователей Apache Ignite: ignite.apache.org/community/resources.html#mail-lists




Не могли бы вы поделиться примером, который можно запустить локально?