# 将数据登陆到 Lakehouse

您可以将数据登陆到 Snowflake 数据 Lakehouse。这涉及将数据从数据源传输到由数据平台管理的云文件存储。

与常规登陆到数据仓库相比，将数据登陆到 Lakehouse 时不涉及昂贵的仓库使用。这样就可以高频登陆，按需以较低频率使用。您还可以更轻松地与其他平台共享数据。您可以将 Iceberg 表与 Snowflake Open Catalog 同步，以实现与 Apache Spark 等其他工具的互操作性。

只有在以 Snowflake 为数据平台的项目中，才能将数据登陆到 Lakehouse。

## 准备工作

* 如果要将 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/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/snowflake-target.htm)。

3. 在登陆目标中选择云存储。

4. 在云存储连接中设置一个暂存区。

   您可以使用以下类型的连接：

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

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

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

5. 设置 Snowflake 存储集成的名称有关详细信息，请参阅您所选存储区域的 Snowflake 文档。

6. 选择默认情况下要为存储、转换和数据集市任务创建的表类型。稍后可以在项目设置中更改此设置。您还可以为项目中的每个单独任务设置表类型。

   * Snowflake 表格

   * Snowflake-托管 Iceberg 表格

     在这种情况下，您必须在默认外部卷中设置外部卷的默认名称。

     信息注释Iceberg 表将继承在架构、数据库或帐户级别设置的存储序列化策略。这可能会影响直接通过 Snowflake 读取表的其他产品的互操作性。

7. 单击“创建”以创建项目。

当您在项目中加载数据或创建登陆任务时，将创建一个湖登陆任务，而不是登陆任务。湖登陆任务的操作和行为与登陆任务基本相同，不同之处在于它们将数据登陆到云存储。有关更多信息，请参阅[从数据源登陆数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm)。

所有文件均以 CSV 格式登陆。使用登录任务的存储任务将确保在更新登陆数据后更新外部表。

## 删除任务

如果数据任务未运行，并且同一项目中没有对下游任务的依赖项，则可以删除该数据任务。

* 在项目的管道项目视图中，单击任务上的the 删除 icon，然后选择。

任务创建的工件（文件）不会被删除。

## 查看任务信息

点击菜单栏上的 the 信息 icon 以查看任务信息，例如：

* 所有者

* 空间

* 数据平台

* 项目 ID

* 数据任务运行时 ID

## 设置

有关任务设置的更多信息，请参阅[湖登陆设置](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Lake-Landing-settings.htm)。

## 限制

* 表路径创建后无法更改。这包括重命名表。

* 如果登陆表用作外部表，则存储实时视图将被禁用。

* 与 Snowflake Open Catalog 同步数据表时，同步的是内部模式表，而不是数据任务模式中生成的视图。未来可能会取消这一限制。有关内部架构表的更多信息，请参阅[表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#Tables)。

* 默认情况下，CLOB 和 BLOB 类型的源列将设置为可为 Null，即使在源中标记为不可为 Null。您可以将其改为不可为 Null，但这样您就需要添加一个表达式来添加一个非 Null 值，以防从源代码使用它时它为 Null。这种情况可能发生在已删除的记录上。