关于数据流

数据流定义如何在不同的系统之间移动和转换数据。

Data Transforms 中的数据流通过联接、筛选器、聚合、设置、拆分等组件流将源连接到目标。有关更多信息,请参见 Supported Database Functions

运行数据流时,“数据转换”使用联接、筛选器、映射和约束条件来转换源数据并将其加载到目标表中。请注意,一次只能运行一个执行流。不能在数据流上放置多个流,并且一个流不能分散到多个流中。

主题

创建数据流

创建数据流以从源连接加载数据、运行转换并将数据移动到目标数据库。

您可以通过以下任一方式创建数据流:

新创建的数据流将显示在关联项目的“数据流”页中。单击所选数据流旁边的“操作”图标 (“操作”图标) 以编辑、重命名、复制、更改文件夹、启动、导出或删除文件夹。

从“项目”页面

要从“项目”页创建数据流,

  1. 在“项目”页面上,单击创建数据流

    此时将显示创建数据流页:

  2. 名称字段中,输入新数据流的名称。
  3. 如果希望为新创建的数据流创建新项目文件夹,请选择创建新项目
  4. 否则,如果要将新创建的数据流添加到现有项目文件夹,请单击添加到现有项目
  5. 如果已为上一个选项选择了创建新项目,请在项目名称字段中,输入新创建的项目的名称。
  6. 否则,如果您为上一个选项选择了添加到现有项目,请从项目名称下拉箭头中选择所需项目。
  7. 说明字段中,输入新创建的数据流的说明。
  8. 单击创建

从项目中的“数据流”页

要从项目内的“数据流”页创建数据流,

  1. 在“项目”页面上,单击要为其创建新数据流的项目磁贴。此时将显示项目详细信息页面。
  2. 数据流页中,单击创建数据流
  3. 提供新数据流的名称说明
  4. 单击下一步
  5. 要定义源连接,请从连接下拉列表中选择要从中添加数据实体的必需连接。
  6. 在“Schema(方案)”下拉列表中,与所选连接对应的所有方案将分两组列出:
    • 现有方案(已导入到 Oracle Data Transforms 中的区域)和
    • 新数据库方案(您尚未导入的区域)。

    从下拉列表中选择要使用的方案。对于 Oracle 对象存储连接,“Schema(方案)”下拉列表列出了您在创建连接时在 URL 中指定的存储桶的名称。

  7. 单击 "Save"(保存)。

    此时将显示数据流编辑器,允许您创建新数据流。

从主页

要从主页创建数据流,

  1. 在主页中,单击转换数据。此时将显示“创建数据流”页。
  2. 提供新数据流的名称说明
  3. 从下拉列表中选择项目名称。或者,单击 + 图标以创建项目。
  4. 单击下一步
  5. 连接下拉列表中,选择要从中添加数据实体的必需连接。或者,单击 + 图标以创建新连接。
  6. 在“Schema(方案)”下拉列表中,与所选连接对应的所有方案将分两组列出:
    • 现有方案(已导入到 Oracle Data Transforms 中的区域)和
    • 新数据库方案(您尚未导入的区域)。

    从下拉列表中选择要使用的方案。

  7. 单击保存

关于数据流编辑器

数据流编辑器分为五个部分:数据实体面板、数据库函数工具栏、设计画布、属性面板和状态面板。



  • “数据实体”面板:数据实体面板显示可在数据流中使用的数据实体。可使用“名称”和“标记”字段筛选显示的列表。该面板包括用于添加方案、导入数据实体、删除与数据流关联的任何方案以及刷新数据实体的选项。有关如何使用这些选项的信息,请参阅添加组件
  • 数据库函数工具栏:“数据库函数”工具栏显示可在数据流中使用的数据库函数。与数据实体一样,您可以在设计画布上拖放要使用的数据库工具。有关更多信息,请参见 Supported Database Functions
  • 设计画布:设计画布用于构建转换逻辑。将数据实体和数据库函数添加到设计画布后,可以按逻辑顺序连接它们以完成数据流。
  • 属性面板:属性面板显示设计画布上所选对象的属性。属性面板分为四个选项卡。General(常规)Attributes(属性)Preview Data(预览数据)Column Mapping(列映射)Options(选项)。并非所有选项卡都可用,因为它们会因所选对象而异。有关这些选项的更多信息,请参见 Component Properties
  • 状态面板:运行数据流时,状态面板将显示在后台运行以完成请求的作业的状态。您可以查看当前正在运行的作业的状态或最后一个作业的状态。有关“状态”面板的更多信息,请参阅监视数据加载、数据流和工作流的状态

设计所需的数据流后,

  • 单击 “保存”图标 可保存创建/设计的数据流。
  • 单击 自动布局图标,对齐设计的数据流的节点。
  • 单击 执行图标 可执行创建的数据流。
  • 单击 “验证”图标 以验证创建的数据流。
  • 单击 放大图标和缩小图标,以最大化或最小化设计画布中创建的数据流图。

支持的数据库函数

Oracle Data Transforms 支持各种数据库功能,您可以在设计画布上拖放这些功能来连接数据流中的组件。

数据流编辑器中的“数据库函数”工具栏包括可在数据流中使用的以下数据库函数。请参阅 Oracle Database SQL Language Reference (了解有关数据库函数的信息)。

  1. 数据转换

    它包含下列组件:

    • 聚合
    • 表达式
    • 筛选
    • 联接
    • 独特
    • 查找
    • 排序
    • 子查询过滤器
    • 表函数
  2. 数据准备

    它包含下列组件:

    • 数据清理
    • 替代
    • 等宽框
    • 分位数收集
    • 引向
    • 延迟
    • 替换
  3. 机器学习

    它包含下列组件:

    • 预测
    • 预测模型
    • 非正常值检测
    • 文本嵌入向量
  4. 文本

    它包含下列组件:

    • 正则表达式计数
    • 正则表达式说明
    • 正则表达式子门店
    • 替换正则表达式
    • 编辑距离相似度
    • 包含
  5. Oracle Spatial and Graph

    它包含下列组件:

    • 缓冲区维
    • 缓冲区允差
    • 距离维
    • 距离允差
    • 最近
    • 简化
    • 地理编码工具:

      注意:

      以下地理编码工具仅在非 Autonomous Database 环境中工作。
      • 以几何对象返回地理编码
      • 地理代码
      • 对地址进行地理编码
      • 全部进行地理编码
      • 对地址进行地理编码 - 全部
      • 逆向地理编码

      注意:

      以下 Geocode 工具仅在 Autonomous Database 环境中工作。
      • 地理编码云
    • 空间联接

添加组件

将数据实体和数据库函数添加到设计画布中,然后按逻辑顺序将其连接以完成数据流。

要向数据流添加组件,请执行以下操作:
  1. 在“数据实体”面板中,单击添加方案以添加包含要在数据流中使用的数据实体的方案。
  2. 在“Add a Schema(添加方案)”页中,选择连接和方案名称。
  3. 单击导入
  4. 在“导入数据实体”页面中,选择要导入的对象类型。如果不想导入方案中的每个对象,请选择掩码/筛选器,然后单击开始
  5. “数据实体”面板列出了导入的数据实体。该面板包含各种选项,可用于执行以下操作:
    • 刷新数据实体 - 单击“刷新”图标 “刷新”图标 可刷新显示的列表。
    • 名称 - 按名称搜索数据实体。
    • 标记 - 按所用标记的名称筛选数据实体。
    • 导入数据实体 - 右键单击方案以查看此选项。使用此选项可以导入数据实体。
    • 删除方案 - 右键单击数据实体以查看此选项。使用此选项可从列表中删除方案。请注意,此选项不会删除方案,它只会删除方案与此数据流的关联。
  6. 同样,如果需要,向数据流添加更多方案。
  7. 将要在数据流中使用的必需数据实体拖放到设计画布上。
  8. 数据库函数工具栏中,将要在数据流中使用的转换组件拖放到设计画布上。您可以在数据流中使用变量。有关详细信息,请参阅在数据流中使用变量
  9. 在设计画布上选择对象,然后拖动其旁边的连接器图标 (连接器图标) 以连接组件。
  10. 保存数据流后,一个或多个组件连接上可能覆盖了“传输”图标。这表示 ODI 检测到其他步骤,需要在数据服务器之间移动数据。您可以单击此图标来查看与此步骤关联的属性。

在数据流中使用文本嵌入向量

数据转换支持在数据流中使用向量数据类型和嵌入向量。目前,Data Transforms 与 OCI Generative AI 服务集成,可将输入文本转换为向量嵌入,可用于数据分析和搜索。

对于文本嵌入数据转换,支持列中存储的文本以及列中存储的 http 链接中的文本。在数据流中使用嵌入向量之前,您需要执行以下操作:

要在数据流中使用向量嵌入:

  1. 按照创建数据流中的说明创建新数据流。
  2. 在数据流编辑器中,单击添加方案以定义源连接。从连接下拉列表中,从下拉列表中选择要使用的 Oracle Database 23ai 连接和方案。单击确定
  3. 将要在数据流中用作源的表拖放到设计画布上。
  4. 从“数据库函数”工具栏中,单击机器学习,然后将文本嵌入向量转换组件拖到设计画布上。
  5. 单击文本嵌入矢量转换组件以查看其属性。
  6. 常规选项卡中,指定以下内容:
    • AI 服务 - 从下拉列表中选择 OCI 生成式 AI
    • Connection(连接) - 下拉列表列出了所选 AI 服务的所有可用连接。选择要使用的连接。
    • AI 模型 - 下拉列表列出了所选 AI 服务和连接的所有可用模型。将列出以下模型:
      • "cohere.embed-english-light-v2.0"
      • "cohere.embed-english-light-v3.0"
      • "cohere.embed-english-v3.0"
      • "cohere.embed-multilingual-light-v3.0"
      • "cohere.embed-multilingual-v3.0"
      也可以键入模型名称。
  7. 列映射选项卡中,将要嵌入的源列映射到运算符的 INPUT 属性。列映射中唯一可用的列是 input_text。将文本列从可用列拖动到表达式列。这是将基于向量构建的数据。
  8. 将要用作数据流中目标的表拖放到设计画布上。
  9. 保存并执行数据流。

    Data Transforms 将为源表中的每个行构建向量,并将其写入目标表。

组件属性

“Properties(属性)”面板将显示在“Design Canvas(设计画布)”中选择的组件的各个设置。

根据所选的组件,您可能会看到以下任何图标:

  • General (一般)- 显示组件的名称及其连接和方案详细信息。您可以编辑其中的一些属性。
  • 属性 (属性)- 显示与组件关联的所有属性的详细信息。
  • 列映射 (列映射) - 允许您自动映射所有列。有关更多信息,请参见 Map Data Columns
  • 预览 (预览) - 显示组件的预览。对于 Oracle 表,还可以查看所选数据实体的统计信息。有关可用统计信息的详细信息,请参见 View Statistics of Data Entities
  • 选项 (选项)- 显示选项,例如
    • Truncate Table(截断表)- 将任何现有的目标表内容替换为新数据。
    • 附加 - 将记录从流插入目标。不会更新现有记录。
    • 增量 - 通过将流记录与现有记录进行比较,并在关联数据不相同时更新记录,来集成目标表中的数据。将插入目标中尚未存在的那些对象。
      该选项包括默认设置为 True 的自动压缩功能。对于使用增量更新模式将数据加载到压缩的 Oracle 目标分区的数据流作业,“自动压缩”功能会在加载成功完成后重新压缩修改的目标分区。对于最初未压缩的表分区,将跳过压缩,而不管是否将自动压缩设置为 true。

      注意:

      “自动压缩”选项可供 ADMIN 用户或具有 DWROLE 角色的用户使用。对于方案用户不是 ADMIN 的数据流,您需要将 DWROLE 分配给用户或禁用自动压缩以避免执行错误。

映射数据列

将源数据实体与目标数据实体连接时,列名将由列名自动映射。您可以选择按位置或名称映射列,也可以使用表达式编辑器手动映射列。

要按“位置”或“名称”映射列,请执行以下操作:

  1. 选择目标数据实体。
  2. 单击右上角显示的箭头图标以展开“Properties(属性)”面板。这会给你更多的空间来工作。
  3. 属性面板中,单击列映射图标 (“列映射”图标)。
  4. 要按位置或按名称映射列,请从自动映射下拉菜单中选择按位置按名称

要手动映射列,请执行以下操作:

  1. 自动映射下拉菜单中,选择清除以清除现有映射。
  2. 从左侧的树中拖放属性以与“表达式”列进行映射。
  3. 要编辑表达式,请单击相应列的编辑图标。此时将显示表达式编辑器,允许您执行所需的更改(例如,您只需添加表达式 "UPPER" 或打开表达式编辑器来编辑表达式)。

    注意:

    仅当特定列具有复杂表达式时,才使用表达式编辑器。
  4. 单击确定

验证并执行数据流

映射准备就绪后,您可以继续验证并执行数据流。

请执行以下操作:
  1. 单击 "Save"(保存)。

    保存后,如果数据需要在转换之前暂存,则“传输”按钮将添加到一个或多个链接。您可以单击这些按钮以设置更多选项(如果可用)。

  2. 如果要检查将要运行的代码以完成执行数据流作业时执行的任务,请单击代码模拟图标 (“模拟代码”图标)。源和目标详细信息以不同颜色显示,以便于参考。如果您希望在运行作业之前检查映射是否正确,或者作业是否失败,这将非常方便。请注意,代码不能用于调试。有关职务的详细信息,请参阅“职务详细信息”页面。
  3. 单击设计画布上方工具栏中的验证图标 (“验证”图标) 以验证数据流。
  4. 成功验证后,单击验证图标旁边的执行图标 (“执行”图标) 以执行数据流。

    如果已向数据流添加变量,则会显示变量值页,其中显示已添加到数据流的变量列表。您可以选择使用当前值、默认值,或者为每个变量设置定制值。请注意,自定义值仅应用于数据流的当前运行。对于任何后续会话,定制值都不会保留。

    此时将显示一条消息,其中显示执行作业 ID 和名称。要检查数据流的状态,请参见属性面板下方右侧的“状态”面板。有关“状态”面板的详细信息,请参阅监视数据加载、数据流和工作流的状态。此面板还显示指向“作业 ID”的链接,您可以单击该链接来监视“作业”页面上的进度。有关更多信息,请参见 Create and Manage Jobs

    对于使用 Oracle 对象存储连接创建的数据流,源 CSV 文件中的数据将加载到目标 Oracle Autonomous Database 中。您还可以将数据从 Oracle Autonomous Database 表导出到 Oracle Object Storage 中的 CSV 文件。