Как Ignite работает со Spark из представления интеграции

Существует IngiteRDD, который может отражать изменения в базовом кеше, что в некоторых случаях очень удобно для преодоления недостатка неизменности RDD Spark.

Существует метод IgniteRDD.sql, который запускает ANSI sql (not spark sql), этот метод возвращает DataFrame, который является концепцией spark sql. Когда я получу этот объект DataFrame, могу ли я использовать его как обычный DataFrame, который мне не нужно думать, что он из мира Ignite? То есть я могу зарегистрировать временную таблицу, а затем выполнить распределенное соединение с другим DataFrame. Когда выполняется sql, подобный распределенному соединению, Ignite использует Spark SQL Engine или Ignite Engine для запуска sql?


person Tom    schedule 13.12.2016    source источник


Ответы (1)


Вы можете использовать Dataframe API после выполнения запроса, но в этом случае он не будет распространяться. т.е. он будет работать с локальным набором результатов, уже загруженным в драйвер.

Полная поддержка Dataframe в Ignite будет доступна в следующем году.

person Valentin Kulichenko    schedule 13.12.2016
comment
Спасибо @Valentin за объяснение. Если данные извлекаются на стороне водителя, то я думаю, что данные должны быть достаточно меньше ... что делает IgniteRDD.sql подходящим только для небольшого набора данных? - person Tom; 14.12.2016
comment
Весь набор данных не передается драйверу, только набор результатов. Сам запрос выполняется в масштабируемом распределенном кеше, который может хранить гигабайты данных. - person Valentin Kulichenko; 14.12.2016