# Промежуточное хранение данных в хранилище в озере данных

Можно помещать данные на промежуточное хранение в хранилище в озере данных Snowflake. Это предполагает передачу данных из источника данных в облачное хранилище файлов, которым управляет платформа данных.

Промежуточное хранение данных в хранилище в озере данных не требует больших затрат на использование хранилища, как при обычном промежуточном хранении. Это позволяет чаще осуществлять промежуточное хранение и реже использовать платные ресурсы, только по мере необходимости. Это также позволит легче обмениваться данными с другими платформами. Можно синхронизировать таблицы Iceberg с Snowflake Open Catalog, чтобы обеспечить совместимость с другими инструментами, такими как Apache Spark.

Промежуточное хранение данных в хранилище в озере данных доступно только в проектах, где в качестве платформы данных используется Snowflake.

## Подготовка

* Если требуется синхронизировать таблицы Iceberg с Snowflake Open Catalog, необходимо настроить интеграцию с каталогом в установленном экземпляре Snowflake. Имя этой интеграции необходимо указать при создании задачи. Для получения дополнительной информации см. раздел [СОЗДАНИЕ ИНТЕГРАЦИИ С КАТАЛОГОМ (Snowflake Open Catalog)](https://docs.snowflake.com/en/sql-reference/sql/create-catalog-integration-open-catalog).

* Хотя можно задать параметры для подключения источника и цели в мастере настройки задачи, с целью упрощения процедуры настройки рекомендуется сделать это до настройки задачи.

## Создание задачи промежуточного хранения данных в озере

1. Создайте проект и выберите Конвейер данных в поле Пример использования.

2. Выберите Snowflake в поле Платформа данных и настройте подключение к хранилищу данных.

   Для получения дополнительной информации о параметрах для цели Snowflake см. раздел [Snowflake](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/snowflake-target.htm).

3. Выберите Облачное хранилище в поле Цель промежуточного хранения.

4. Настройте промежуточную область в разделе Подключение к облачному хранилищу.

   Можно использовать следующие типы подключений:

   * [Amazon S3](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/aws-s3-target.htm)

   * [Azure Data Lake Storage](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/adls-target.htm)

   * [Google Cloud Storage](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/google-storage-target.htm)

5. Задайте имя в поле Интеграция с хранилищем Snowflake. Для получения дополнительной информации см. документацию Snowflake для выбранной области хранилища.

6. Выберите тип таблицы, который будет создаваться по умолчанию для задач хранения, преобразования и киоска данных. Этот параметр можно изменить позже в настройках проекта. Также можно настроить тип таблицы для каждой отдельной задачи в проекте.

   * Таблицы Snowflake

   * Таблицы Iceberg под управлением Snowflake

     В данном случае необходимо задать имя по умолчанию для внешнего тома в поле Внешний том по умолчанию.

     Примечание к информацииТаблицы Iceberg наследуют политику сериализации хранилища, установленную на уровне схемы, базы данных или учетной записи. Это может повлиять на совместимость с другими продуктами, читающими таблицы непосредственно через Snowflake.

7. Нажмите кнопку «Создать», чтобы создать проект.

При подключении данных или создании задачи промежуточного хранения в проекте, вместо задачи Промежуточное хранение создается задача Промежуточное хранение в озере. Задачи Промежуточное хранение в озере выполняются и ведут себя по большей части как задачи Промежуточное хранение, за исключением того, что данные помещаются в облачное хранилище. Для получения дополнительной информации см. раздел [Промежуточное хранение данных, полученных из источников данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm).

Все файлы помещаются на промежуточное хранение в формате CSV. Задача хранения, которая потребляет задачу промежуточного хранения, будет обеспечивать обновление внешних таблиц данных после обновления данных, помещенных на промежуточное хранение.

## Удаление задачи

Вы можете удалить задачу данных, если она не запущена и нет зависимостей от последующих задач в том же проекте.

* В представлении проекта конвейера проекта нажмите the Дополнительно icon на задаче и выберите Удалить.

Артефакты (файлы), созданные задачей, не будут удалены.

## Просмотр информации о задаче

Нажмите the Сведения icon на панели меню, чтобы просмотреть информацию о задаче, например:

* Владелец

* Пространство

* Платформа данных

* Идентификатор проекта

* Идентификатор выполнения задачи данных

## Настройки

Для получения дополнительной информации о параметрах задачи см. раздел [Параметры промежуточного хранения в озере данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Lake-Landing-settings.htm).

## Ограничения

* Невозможно изменить путь к таблице после того, как она создана. Это относится и к переименованию таблицы.

* Если таблицы промежуточного хранения используются в качестве внешних таблиц, виды хранилища в реальном времени отключены.

* При синхронизации таблиц с Snowflake Open Catalog синхронизируются таблицы внутренней схемы, а не виды, созданные в схеме задачи данных. Это ограничение может быть снято в будущем. Для получения дополнительной информации о таблицах внутренних схем см. раздел [Таблицы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#Tables).

* Исходные столбцы типа CLOB и BLOB будут установлены как допускающие значение NULL по умолчанию, даже если они помечены как не допускающие значения NULL в источнике. Можно сделать их не допускающими значения NULL, но тогда потребуется добавить выражение для добавления ненулевого значения в случае, если из источника будет получено значение NULL. Это может случаться с удаленными записями.