跳到主要内容 跳到补充内容

数据湖中的登陆设置

您可以根据需要更改默认的数据湖登陆设置。

一般

更新方法

可以在两种不同的模式下登陆数据。一旦准备好数据湖登陆任务,就无法更改模式。

  • 更改数据捕获 (CDC):数据湖登陆任务从满负载开始(在此期间,所有选定的表都将登陆)。然后使用 CDC(更改数据捕获)技术使登陆数据保持最新。

    信息注释不支持 DDL 操作的 CDC(更改数据捕获)。
  • 重新加载将数据从选定的源表完全加载到目标平台,并在必要时创建目标表。任务启动时会自动进行满负载,但也可以手动执行或根据需要安排定期进行。

要使用的文件夹

根据要将文件写入的存储段文件夹,选择以下选项之一:

  • 默认文件夹:默认文件夹格式为 <your-project-name>/<your-task-name>
  • 根文件夹:文件将直接写入存储段。
  • 文件夹:输入文件夹名称。如果该文件夹不存在,将在数据湖登陆任务期间创建该文件夹。

    信息注释 文件夹名称不能包含特殊字符(例如 @、#、 ! 等)。

更改数据分区

信息注释只有当更新方法为更改数据捕获 (CDC) 时,此选项才可用。

在标准登陆任务中,对目标的更改不按特定顺序登陆。更改数据分区可以用一致的方式处理来自多个表的更改数据。您可以定义分区的持续时间以及分区基准时间,从而确保分区数据的整体一致性(即不存在部分事务,不存在没有订单行的订单头等等。)

有关分区的信息记录在目标数据库的 attrep_cdc_partitions 控制表中。此信息可用于识别需要进一步处理的分区数据。

  • 分区间隔 - 指定每个分区的长度(以小时和分钟为单位)。

    信息注释

    建议指定的分区长度超过一小时。尽管指定小于一小时的分区长度可能会提高延迟,但在目标上创建许多分区也可能影响(目标)性能(尤其是在具有大量更改的系统中)。

    如果在创建最后一个分区之前继续执行任务,则数据湖登陆任务将写入已关闭的分区。

  • 分区基本时间 - 分区是在 24 小时内创建的,根据源数据库上指定的“分区基本时间”(UTC 时间)计算。例如,分区间隔为 8 小时,“分区基准时间”时间为 02:00,将创建以下分区:02:00-10:00、10:00-18:00、18:00-02:00,但不一定按此顺序。例如,如果一个任务在 01:00 开始,那么第一个分区的时间范围将是 18:00-02:00。此外,如果任务在分区中间启动(例如 04:00),则其更改数据将插入 02:00-10:00 分区,即使在 04:00 之前没有捕获任何更改。

数据上传

文件属性

格式

您可以选择以 CSVJSONParquet 格式创建目标文件。

信息注释使用 Parquet 文件格式时,不支持大于 1MB 的 LOB 列

在 JSON 文件中,每条记录都由一行表示,如下例所示:

{ "book_id": 123, "title": "Alice in Wonderland", "price": 6.99, "is_hardcover": false }

{ "book_id": 456, "title": "Winnie the Pooh", "price": 6.49, "is_hardcover": true }

{ "book_id": 789, "title": "The Cat in the Hat", "price": 7.23, "is_hardcover": true }

另请参阅: 内容类型和内容编码属性

信息注释不支持在任务处于停止状态时更改格式(例如,从 CSV 更改为 JSON 或从 JSON 更改为 CSV),然后继续执行任务。
信息注释
  • 如果选择 JSONParquet 格式,以下字段将被隐藏,因为它们仅与 CSV 格式相关:字段分隔符记录分隔符Null 值报价字符报价转义符添加元数据标头
  • 以下字段仅与 Parquet 格式相关:Parquet 版本Parquet 时间戳单位Parquet 最大 LOB 大小 (KB)

有关使用 Parquet 格式时的数据类型映射及其限制的信息,请参阅Supported data typesAmazon S3

字段分隔符

将用于分隔目标文件中的字段(列)的分隔符。默认值为逗号。

使用逗号作为分隔符的示例:

"mike","male"

分隔符可以是标准字符或十六进制 (hex) 值。请注意,前缀“0x”必须用于表示十六进制分隔符(例如0x01 = SOH)。在字段分隔符记录分隔符Null 值字段中,分隔符可以由连接的十六进制值组成(例如 0x0102 = SOHSTX),而在报价字符报价转义符字段中,它只能是单个十六进制值。

不支持十六进制数字 0x00(即仅支持 0x01-0xFF)。

空值

将用于指示目标文件中的 null 值的字符串。

示例(其中 \n 是记录分隔符,@ 是空值):

"mike","male",295678\n
"sara","female",@\n

记录分隔符

将用于分隔目标文件中的记录(行)的分隔符。默认设置为新行 (\n)。

示例:

"mike","male"\n
"sara","female"\n

引号字符

将在文本列的开头和结尾使用的字符。默认为双引号字符 (")。当包含列分隔符的列用双引号括起来时,列分隔符字符将被解释为实际数据,而不是列分隔符。

示例(其中 @ 是引号字符):

@mike@,@male@

引号转义符

用于对实际数据中的引号字符进行转义的字符。默认为双引号字符 (")。

示例(其中 “ 是引号,\ 是转义符):

1955,"old, \"rare\", Chevrolet","$1000"

Parquet 版本

根据目标平台支持的版本选择要使用的版本。请注意,Parquet 1.0 版本仅支持 MICRO 时间戳单元,而 Parquet 2.6 版本同时支持 MICRONANO 时间戳单元。

Parquet 时间戳单位

当 Parquet 版本设置为2.6时,选择 MICRONANO。当 Parquet 版本设置为 1.0 时,仅支持 MICRO

Parquet 最大 LOB 大小 (KB)

默认的最大 LOB 大小为 64 KB,您可以在此字段中输入的最大值为 10000 KB。处理 LOB 列需要更多的资源,这反过来又会影响性能。只有当您正在复制大于 64 KB 的 LOB 数据,并且需要将所有 LOB 数据复制到目标时,才能增大此值。

最大文件大小

文件在关闭之前可以达到的最大大小(可选择压缩)。

文件在关闭之前可以达到的最大大小。与并行执行选项结合使用时,较小的文件可能会上传得更快(取决于网络),并提高性能。然而,通常认为用小文件扰乱数据库是不好的做法。

压缩文件方式

选择其中一个压缩选项来压缩目标文件,或者选择 NONE(默认值)使其保持未压缩状态。请注意,可用的压缩选项由选定的文件格式决定。

添加元数据标头

您可以选择将标题行添加到数据文件中。标题行可以包含源列名和/或中间(即数据移动网关)数据类型。

当同时选择带列名带数据类型时,具有标题行的目标文件示例:

Position:DECIMAL(38,0),Color:VARCHAR(10)

1,"BLUE"

2,"BROWN"

3,"RED"

...

更改处理

该部分介绍更改处理中的条件设置。

应用/存储更改场景

  • 文件大小达到:指定在将文件上传到目标之前要累积的更改数据的最大大小。
  • 运行时间达到运行时间达到 x。

元数据文件

当选择在目标文件夹中创建元数据文件选项时,对于每个数据文件,将在指定的目标文件夹下创建一个扩展名为 .dfm 的匹配元数据文件。元数据文件提供了有关任务/数据的附加信息,如源连接器类型、源表名称、数据文件中的记录数等。

有关元数据文件的完整描述以及可能的用途,请参阅元数据文件描述

元数据

LOB 列

  • 包括 LOB 列并将列大小限制为 (KB):

    您可以选择在任务中包括 LOB 列,并设置最大 LOB 大小。大于最大大小的 LOB 将被截断。

控制表

选择要在目标平台上创建以下控制表中的哪一个:

  • 登陆 状态:提供有关当前登录任务的详细信息,包括任务状态、任务消耗的内存量、尚未应用于数据平台的更改数量以及 数据移动网关 当前正在读取的源端点中的位置。
  • 挂起的表提供挂起的表的列表,以及它们被挂起的原因。
  • 登陆 历史记录:提供有关任务历史记录的信息,包括登陆任务期间处理的记录数量和卷、CDC 任务结束时的延迟等。
  • 更改数据分区:提供由于更改数据分区在目标数据库上创建的分区的记录。您可以使用这些信息来标识需要进一步处理的分区数据。

有关每个控制表的详细说明,请参阅控制表

满负载

性能调整

  • 并行加载的最大表数:输入一次要加载到目标中的最大表数。默认值为 5
  • 事务一致性超时(秒):输入在开始满负载操作之前等待打开的事务结束的秒数。默认值为 600(10 分钟)。即使存在仍处于打开状态的事务,也会在达到超时值后开始满负载。

    信息注释要复制在满负载开始时打开但在达到超时值才提交的事务,需要重新加载目标表。
  • 满负载期间的提交率:可以一起传输的最大事件数。默认值为 10000

在满负载完成之后

创建主键或唯一索引:如果要将主键或唯一索引在数据平台上的创建延迟到满负载完成后,请选择此选项。

错误处理

数据错误

信息注释

只有变更数据捕获 (CDC) 更新方法才支持数据错误处理。

数据截断错误

对于数据截断错误:选择在一个或多个特定记录中发生截断时要执行的操作。您可以从列表中选择以下选项之一:

  • 忽略:任务将继续,并忽略该错误。
  • 挂起表:任务继续进行,但带有错误记录的表中的数据会移动到错误状态,并且不会复制其数据
  • 停止任务:任务已停止,需要手动干预。

其他数据错误

对于其他数据错误:选择在一个或多个特定记录中发生错误时要执行的操作。您可以从列表中选择以下选项之一:

  • 忽略:任务将继续,并忽略该错误。
  • 挂起表:任务继续进行,但带有错误记录的表中的数据会移动到错误状态,并且不会复制其数据
  • 停止任务:任务已停止,需要手动干预。

升级数据错误处理

当其他数据错误达到时,升级错误处理(按表):选中此复选框可在非截断数据错误数(按表)达到指定数量时升级错误处理。有效值为 1-10,000。

升级操作:选择升级错误处理时应执行的操作。请注意,可用的操作取决于从上述针对其他数据错误下拉列表中选择的操作。

  • 挂起表(默认值):任务继续进行,但带有错误记录的表中的数据会移动到错误状态,并且不会landed其数据。

  • 停止任务:任务已停止,需要手动干预。

表格错误

遇到表格错误时:从下拉列表中选择以下选项之一:

  • 挂起表(默认值):任务继续进行,但带有错误记录的表中的数据会移动到错误状态,并且不会复制其数据
  • 停止任务:任务已停止,需要手动干预。

当表格错误达到时,升级错误处理(按表):选中此复选框可在表错误数(按表)达到指定数量时升级错误处理。有效值为 1-10,000。

升级操作:表错误的升级策略设置为停止任务,无法更改。

环境

  • 最大重试数选择此选项,然后指定发生可恢复环境错误时重试任务的最大尝试次数。重试任务达到指定次数后,任务将停止,需要手动干预。

    若要从不重试任务,请清除复选框或指定“0”。

    要无限次重试任务,请指定“-1”

    • 重试间隔(秒)使用计数器选择或键入系统在尝试重试任务之间等待的秒数。

      有效值为 0-2000。

  • 延长长时间停机的重试间隔选中此复选框可增加长时间停机的重试间隔。启用此选项后,每次重试之间的间隔将加倍,直到达到最大重试间隔(并根据指定的最大间隔继续重试)。
    • 最大重试间隔(秒)使用计数器选择或键入在启用增加长时间中断的重试间隔选项时任务重试之间等待的秒数。有效值为 0-2000。

更改处理调谐

信息注释只有当更新方法为更改数据捕获 (CDC) 时,此选项卡才可用。

事务卸载调整

  • 该条件下将正在进行的事务卸载到磁盘

    事务数据通常保存在内存中,直到它完全提交到源或目标。但是,大于分配内存或未在指定时间限制内提交的事务将被卸载到磁盘。

    • 所有事务的总内存大小超过 (MB):所有事务在卸载到磁盘之前可以在内存中占用的最大大小。默认值为 1024。
    • 事务持续时间超过(秒):每个事务在卸载到磁盘之前可以在内存中停留的最长时间。持续时间是从 数据移动网关 开始捕获事务的时间开始计算的。默认值为 60。

其他调谐

  • 语句缓存大小(语句数):要存储在服务器上以供以后执行(在对目标应用更改时)的最大准备语句数。默认值为 50。最大值为 200。
  • 更新主键列时执行 DELETE 和 INSERT 操作:此选项要求在源数据库中打开完整的补充日志记录。

批量调节

  • 每笔交易的最小更改次数:每个事务中要包含的最小更改数。默认值为 1000

    信息注释

    当更改次数等于或大于每个事务的最小更改次数值时,或者当达到下面描述的应用前批处理事务的最长时间(秒)值时,将对目标应用更改,以先发生的为准。由于应用于目标的更改频率由这两个参数控制,因此对源记录的更改可能不会立即反映在目标记录中。

  • 应用前批处理事务的最长时间(秒):在声明超时之前分批收集事务的最长时间。默认值为 1

字符替换

您可以替换或删除目标数据库中的源字符,和/或替换或删除所选字符集不支持的源字符。

信息注释
  • 所有字符都必须指定为 Unicode 代码点。

  • 字符替换也将在控制表上执行。
  • 无效值将由表格单元格右上角的红色三角形指示。将鼠标光标悬停在三角形上会显示错误消息。

  • 为任务定义的任何表级或全局转换都将在字符替换完成后执行。

  • 替换或删除源字符表中定义的替换操作在替换或删除所选字符集不支持的源字符表格中定义的替代操作之前执行。

  • 字符替换不支持 LOB 数据类型。

替换或删除源字符

使用替换或删除源字符表可以定义特定源字符的替换项。例如,当字符的 Unicode 表示在源平台和目标平台上不同时,这可能很有用。例如,在 Linux上,Shift_JIS 字符集中的减号字符表示为 U+2212,但在 Windows 上,它表示为 U+FF0D

替换操作
进行该操作

定义替代操作

  1. 单击表上方的添加字符按钮。

  2. 源角色替换角色字段中分别指定源角色和目标角色。

    例如,要将字母“a”替换为字母“e”,请分别指定 00610065

    信息注释

    要删除指定的源字符,请在替换字符列中输入 0

  3. 重复步骤 1-2 以替换或删除其他字符。

编辑指定的源或目标角色

单击行末尾的 并选择编辑

从表中删除条目

单击行末尾的 并选择删除

替换或删除所选字符集不支持的源字符

使用不支持的源字符(按字符集)表为所选字符集不支持的所有字符定义一个替换字符。

不支持的字符替换操作
进行该操作

定义或编辑替换操作。

  1. 从表中的字符集下拉列表中选择一个字符集。

    所选字符集不支持的任何字符将在目标上替换为下面步骤 2 中指定的字符。

  2. 替换字符列中,单击列中的任意位置,然后指定替换字符。例如,要将所有不支持的字符替换为字母“a”,请输入0061

    信息注释

    要删除所有不支持的字符,请输入0

禁用替换操作。

字符集下拉列表中选择空白条目。

更多选项

这些选项不会在 UI 中公开,因为它们仅与特定版本或环境相关。因此,除非 Qlik 支持或产品文档明确指示,否则不要设置这些选项。

要设置选项,只需将该选项复制到添加功能名称字段中,然后单击添加。然后根据收到的说明设置该值或启用该选项。

SaaS 应用程序

信息注释此选项卡仅在从 SaaS 应用程序源移动数据时可用。
信息注释
  • 并行执行选项已重命名为要并行加载的最大表数,并移到满负载选项卡。
  • LOB 选项已重命名为包括 LOB 列并将列大小限制为 (KB),然后移到元数据选项卡。
  • 对于初始加载

  • 当从 SaaS 应用程序源移动数据时,您可以设置如何执行初始满负载:

    信息注释这些设置需要 数据移动网关 版本 2022.11.74 或更高版本。
    使用缓存数据

    此选项允许您使用在选择完整数据扫描的情况下生成元数据时读取的缓存数据。

    这减少了 API 使用和配额方面的开销,因为已经从源读取数据。自初始数据扫描以来的任何更改都可以通过更改数据捕获 (CDC) 获取。

    从数据源加载

    此选项从数据源执行新加载。此选项在以下情况下很有用:

    • 最近未执行元数据扫描。

    • 源数据集很小并且经常更改,而您不希望维护完整的更改历史记录。

  • 每(分钟)读取更改

    设置从源读取更改的间隔(分钟)。有效范围为 1 到 1440。

    信息注释此选项仅适用于具有更新方法更改数据捕获 (CDC) 的数据任务。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!