链接到云存储中的对象

从 Oracle Autonomous AI Database 创建指向云存储桶中文件的链接时,将创建链接到云存储中文件的外部表。

您可以链接到以下文件格式的文件:AVRO、CSV、JSON、GeoJSON、Parquet、ORC、Delimited TXT。有关支持的文件格式的信息,请参见 Format Specifications for JSON,AVRO,and XML Files

从“链接云对象”页配置和运行数据链接作业。要打开该页,请执行以下操作:

  1. 打开“Database Actions(数据库操作)”启动板,单击 Data Studio 选项卡并选择 Data Load(数据加载)菜单。请参阅“数据加载”页
  2. 选择 LINK DATACLOUD STORE

该页面左侧是一个导航器窗格,您可以在其中选择云存储连接以及包含数据的文件夹或文件。页面右侧是数据加载 cart ,您可以在其中暂存数据链接作业的文件和文件夹。可以在运行数据链接作业之前为其设置选项。Autonomous Database 附带预定义的 CPU/IO 份额,分配给不同的使用者组。在执行数据加载作业时,可以根据工作量将使用者组设置为低、中或高。

要链接到云存储中的文件,请执行以下操作:

管理数据链接作业的云存储链接

必须先与要使用的云存储建立连接,然后才能链接到云存储中的数据。

在“链接云对象”页面上:

  1. 在您输入云存储位置的字段之外,单击“Manage cloud store(管理云存储)”图标。选择 + Create Cloud Store Location

  2. 添加云存储位置窗格中输入您的信息。请参阅以添加云存储位置。

请参阅管理连接

要返回到“链接云对象”页,请在页顶部的面包屑中单击数据加载,然后导航回该页。

准备数据链接作业

您可能需要调整源数据或目标表,以便源数据正确链接到外部目标表。而是考虑使用:

  • 如果要链接到多个文件,必须确保:

    • 所有源文件都属于同一类型,例如 CSV、JSON 等。

    • 所有源文件中列的数目、顺序和数据类型都匹配。

  • 如果要按日期分区:

    • 源文件必须包含数据类型为日期或时间戳的数据。

    • 必须加载包含两个或更多数据源的文件夹。

    • 文件夹中文件的名称必须指明日期或日期,例如 MAR-1999.csv2017-04-21.xlsx

为数据链接作业添加文件或文件夹

将云存储中的文件添加到数据链接购物车,您可以在其中编辑数据链接作业的详细信息。要添加文件,请执行以下操作:

  1. 从左侧导航器窗格顶部的列表中,选择包含源数据的存储桶。

    此列表显示在“Manage Cloud Storage(管理云存储)”页面上建立的链接。如果您尚未注册要使用的云存储,请单击 Data Studio 工具套件中“数据加载”菜单下的连接按钮并注册连接。

  2. 从左侧的文件导航器中拖动一个或多个项并将其放入右侧的购物车中。

    • 您可以添加文件和/或文件夹。对于拖入其中的每个文件或文件夹,会将卡添加到购物车中。卡中列出了源文件或文件夹的名称以及目标表的建议名称。

    • 如果添加包含多个文件的文件夹,则所有文件必须具有相同的类型,即 CSV、TXT 等。

      将文件夹添加到购物车时,将显示一个提示,询问是否要将多个源文件中的所有对象加载到单个目标表中。单击继续,或者单击取消。

    • 将多个单个文件或多个文件夹添加到购物车时,每个卡表示的数据将加载到单独的表中,但购物车中的所有项目都将作为同一数据加载作业的一部分进行处理。

    • 您可以从其他存储桶添加文件或文件夹,但如果执行此操作,系统会提示您删除购物车中已有的所有文件,然后再继续。要从其他存储桶中选择文件,请从左侧导航器窗格中的下拉列表中选择存储桶,然后添加文件,如上所述。

    • 您可以将文件或文件夹放入数据加载购物车,然后从“数据链接对象”页面中导航。当您返回到页面时,这些项仍保留在该页面上,但您可能会收到一条消息:“删除所有数据链接项”。更改为其他云储存位置需要从数据加载作业中删除所有项。是否要继续?单击可从购物车中删除商品。单击将货品保留在购物车中。然后你可以继续工作。

在运行数据链接作业之前,您可以从购物车中删除项目:

  • 要从购物车中删除某项,请在卡上为窗格顶部的“数据链接”购物车菜单栏选择删除

  • 要从购物车中删除所有项目,请单击窗格顶部的“数据链接购物车”菜单栏中的全部删除

输入数据链接作业的详细信息

在 "Link Data from Cloud Storage" 窗格中输入有关数据链接作业的详细信息。

在数据链接购物车中的卡上,单击设置以打开该作业的“从云存储链接数据”窗格。窗格包含:

“设置”选项卡 -“表”部分

部分中设置有关目标表的详细信息。

  • 名称:目标表的名称。
  • 分区列 :

    List Partitions 和 Date-based partition 是数据链接中可用的不同类型的分区。

    如果您希望根据离散值将行映射到分区,则必须使用列表分区。

    要根据特定列进行分区,请单击 Partition Column(分区列)下拉列表,然后选择要用于分区的列。

    每个分区值将有 N 个文件,所有文件都按您选择的分区列进行分区。

    注意:

    • 对于链接的文件(来自外部表),还要求对于每个文件,列表分区列在所有行中只能包含一个不同的值。
    • 如果文件是列表分区的,则分区键只能由表的单个列组成。

    链接包含两个或多个数据源的文件夹时,可以使用基于日期的分区,这些数据源的列包含日期或时间戳数据。

    要根据日期进行分区,请单击 Partition Column 下拉列表,然后选择要用于分区的 DATETIMESTAMP 列。

  • 验证类型:验证会检查源文件、可选分区信息和与指定的格式选项不匹配的报表行。对于不验证,请选择;选择示例以根据数据样例执行验证;或者选择完全以根据所有数据执行验证。

  • 使用通配符:此复选框允许在搜索条件中使用通配符来检索与筛选条件匹配的特定文件组。

    可以使用通配符,例如一个星号 (*),用于搜索、筛选和指定用于检测新文件并将新文件添加到外部表的文件组。

    例如,如果输入 file*,则将文件 01、file02、file03 等视为与关键字匹配。星号 (*) 将可能性的零个或多个字符与关键字匹配。

    注意:

    通配符支持与分区不兼容。如果使用带有分区数据的通配符,源文件的验证将失败。

“设置”选项卡 -“属性”部分

指定用于控制如何解释、预览和处理源数据的选项。这些选项因源数据的类型而异。

  • 编码:从列表中选择字符编码类型。当链接的文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项可用。默认编码类型为 UTF-8。

  • 文本附件:选择用于封装文本的字符: " (双引号字符)、 ' (单引号字符)或 None 。仅当所选文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项才可见。

  • 字段分隔符:选择用于分隔源中的列的分隔符字符。例如,如果源文件使用分号来分隔列,请从此列表中选择 Semicolon 。默认值为 Comma 。仅当所选文件采用纯文本格式(CSV、TSV 或 TXT)时,此选项才可见。

  • 开始处理行中的数据:指定将源数据链接到目标外部表时要跳过的行数:

    • 如果您在源列名下选择列标题行选项(请参阅下文),并且您在行开始处理数据字段中输入大于 0 的数字,则第一行之后的行数不会链接到目标。

    • 如果取消选择源列名下的列标题行选项,并且如果在开始处理行数据字段中输入大于 0 的数字,则包括第一行的行数不会链接到目标。

  • 源列名:选中列标题行复选框,以使用列名构成目标表中的源表。

    • 如果选择此选项,则文件中的第一行将作为列名处理。下面映射部分中的行将填充这些名称(以及现有的数据类型,除非您更改这些名称)。

    • 如果取消选择此选项,第一行将作为数据进行处理。要手动指定列名,请在映射部分中为每个目标列输入一个名称。(还必须输入数据类型。)

  • 数字列:选中将无效数据转换为空值复选框可将无效的数字列值转换为空值。

  • 数据值中包含的换行符:如果存在换行符或返回到当前行的开头,但未在数据字段中向下推进,请选择此选项。选择此选项将增加处理加载所用的时间。如果在加载数据时不选择此选项,则字段中有换行符的行将被拒绝。您可以在“职务报告”面板中查看拒绝的行。

“设置”选项卡 -“映射”部分

映射部分中的设置控制源文件中的数据如何链接到目标外部表的行。对于每行,源列下列出的列中的数据将链接到目标列下列出的列。

  • 源列:列出源文件中的列。

    如果选择了属性下的列标题行选项,则源列将显示源文件中列的名称。如果未选择列标题行选项,则使用通用名称,如 COLUMN_1COLUMN_2 等。此字段始终为只读。

    您可以查看两个源列 FILE$NAMESYSTIMESTAMP。使用 FILE$NAME 列可以找到包含特定数据记录的源文件。例如,加载包含文件列表的源文件。文件列表中的文件名是指整个组织的部门名称。例如, finance.txt 文件包含来自财务部门的数据。在映射中,可以使用字符串数据类型从文件名列的输出中提取部门名称。可以使用提取的部门名称以不同方式处理每个部门的数据。

    通过 SYSTIMESTAMP 列,可以查看数据库中的当前时间戳。

    注意:

    • 默认情况下不包含 FILE$NAMESYSTIMESTAMP 源列。必须选中包括复选框并运行目标表的加载才能显示这两个列。
    • 创建实时馈送时,默认情况下,FILE$NAMESYSTIMESTAMP 源列会显示在映射表中。
  • 目标列:列出目标表中的列。

    • 如果列标题行选项处于选中状态,则目标列将使用源文件中列的名称。可以通过将提供的名称替换为新名称来更改目标列的名称。您需要确保目标列不为空。目标列名不能与其他目标列重复。目标列名不能具有重复的名称作为另一个目标列。目标列长度不能超过 128 字节。128 字节限制是数据库限制。

    • 如果选择列标题行选项,则使用通用名称,例如 COLUMN_1COLUMN_2 等。可以通过将提供的名称替换为新名称来更改目标列的名称。

    注意:

    如果要在单个数据链接作业中从文件夹链接多个文件,则映射部分中仅显示第一个文件。但是,只要列名和数据类型匹配,所有源文件中的数据都将被链接。

  • 数据类型:列出要用于该列中的数据的数据类型。内容因是否选择了从文件头获取选项而异。

    • 如果选择了列标题行选项,则数据类型将显示源文件中列的数据类型。如果要更改目标的数据类型,请单击名称并从列表中选择其他数据类型。

    • 如果选择列标题行选项,则数据类型将显示所有可用数据类型。从列表中选择要用于目标列的数据类型。

  • 长度/精度(可选):对于数据类型NUMBER 的列,请输入列中数字的长度/精度。精度是数字中的有效数字位数。精度的范围为 1 到 38。

    对于数据类型为 VARCHAR2 的列,长度/精度字段中的自动值将启用“自动大小”功能。

    使用“自动调节列宽度”功能,可以自动调节任意列的大小,使其符合列中最大值。从长度/精度下拉值中选择自动,或者从下拉列表中选择一个值。

  • 缩放(可选):对于数据类型NUMBER 的列,请在列中输入数字的缩放。小数位数是小数点右边(正)或左边(负)的位数字。比例范围可以从 -84 到 127。

  • 格式:如果数据类型列中的数据类型是 DATETIMESTAMP 类型之一,请从格式下拉列表中选择该类型的格式。

预览标签

预览选项卡中的加载预览菜单以表格形式显示源数据。显示内容反映了您在属性部分中选择的设置。文件菜单显示具有列名的源数据。

如果将包含多个文件的文件夹拖动到数据链接购物车中,然后单击该卡的 设置 设置,则预览窗格将在该窗格顶部的预览对象(文件)下拉列表中列出文件夹中的所有文件。从该列表中选择要预览的源文件。

“表”选项卡

选项卡显示链接数据后目标表的预期外观。

SQL 选项卡

SQL 选项卡显示将运行以完成此数据链接作业的 SQL 命令。

注意:

甚至在创建表之前,您也可以看到 SQL 代码。

关闭按钮 - 保存并关闭窗格

输入数据链接作业的所有详细信息后,单击页面底部的关闭。这将保存您输入的详细信息,并返回到 "Link Data from Cloud Storage"(链接云存储中的数据)窗格。

运行数据链接作业

将数据源添加到数据链接购物车并输入有关数据链接作业的详细信息后,可以运行作业。

要运行作业,请执行以下操作:

  1. 如果尚未执行此操作,请单击从云存储链接数据窗格中的关闭按钮以保存设置并关闭窗格。如果任何设置无效,则错误消息会报告该问题。修复问题,然后单击关闭
  2. 单击数据链接购物车菜单栏中的 开始 Start 。要停止数据链接作业,请单击 停止 停止

    数据链接作业完成时,数据加载仪表盘页将在表和视图加载部分下显示作业的结果。

    数据链接作业启动后,您可以在“数据加载”仪表盘中查看作业的进度。

查看有关运行数据链接作业的详细信息

您可以在“数据加载”仪表盘上查看作业的进度。

数据加载作业完成时,“数据加载”仪表盘页将显示作业的结果。在表加载标题的顶部,可以查看表的名称以及表中存在的总列数。

单击作业报告可查看成功处理的行总数和被拒绝的行数。您还可以查看开始时间。作业报告的 SQL 窗格显示作业的等效 SQL 代码。

要查看作业中某个项的信息,请单击“表加载”上的操作图标。

要查看加载操作的日志,请单击“Logging(日志记录)”图标。您可以保存日志、清除日志或刷新日志。单击 OK 关闭日志。

查看数据链接作业产生的表

运行数据链接作业后,可以在“数据加载”仪表盘上查看由数据链接作业创建的表。

修复数据加载作业。在数据加载作业之后,您可能会看到要更正的错误,或者在检查后发现您希望以不同的方式命名列。在这种情况下,请单击所选“表加载”上的重新加载选项以从最近的购物车中重新加载卡,然后像第一次尝试之前那样对其进行编辑。“重新加载”图标使用工具建议的修复重新加载源数据。单击表标题上的操作图标,单击并选择编辑以对数据加载作业进行任何更改(即,更改列名)。