Как настроить кеш для ignite-spark-dataframe?
Мне удалось сохранить и загрузить фрейм данных spark из ignite на следующем примере: https://apacheignite-fs.readme.io/docs/ignite-data-frame
Следуя примеру кода, когда кеш создается в ignite, он автоматически получает имя типа "SQL_PUBLIC_name_of_table_in_spark".
С другой стороны, если я хочу изменить какую-либо конфигурацию кеша, мне нужно указать то же имя кеша в xml или коде перед созданием кеша зажигания. Потому что конфигурация кеша не может быть изменена после создания кеша. Смотрите следующий код.
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!-- Set a cache name. -->
<property name="name" value="SQL_PUBLIC_name_of_table_in_spark"/>
<!-- Set cache mode. -->
<property name="cacheMode" value="PARTITIONED"/>
</bean>
</property>
</bean>
Тогда один из них будет отклонен из-за того, что "кеш уже существует". В результате я не смог изменить конфигурацию кеша с помощью xml/code.
Это ожидается? И как я могу изменить конфигурацию кеша в этом случае?
1 ответ
Страница документа, на которую вы ссылаетесь, содержит фрагмент кода, который создает таблицу SQL:
CREATE TABLE person (
id LONG,
name VARCHAR,
city_id LONG,
PRIMARY KEY (id, city_id)
) WITH "backups=1, affinityKey=city_id”;
Эта команда SQL на самом деле создает кеш. Вы можете изменить эту команду, чтобы изменить параметры кеша, который будет создан. Обратитесь к CREATE TABLE
док.
В частности, параметр, который дает наибольшую гибкость, WITH template=mytemplate
, Это позволяет вам создавать кеш из уже существующей конфигурации шаблона. Для регистрации шаблона вы можете указать его в своем cacheConfiguration
с именем, заканчивающимся звездочкой, например
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="mytemplate*"/>
<!-- your parameters. -->
</bean>
</property>
</bean>
Вы также можете указать WITH
параметры для CREATE TABLE
в OPTION_CREATE_TABLE_PARAMETERS
установка, если таблица создается автоматически Spark.