您可以创建一个管道,将数据从对象存储中的外部文件或目录加载到 Autonomous AI Database 中的表。
负载管道使用放置在对象存储或目录中的数据,并将其加载到 Autonomous AI Database 中的表。创建加载管道时,当新数据文件到达管道加载新数据时,管道将定期运行以使用放置在源位置的数据。您还可以使用管道通过简历和重试功能将文件从源位置可靠地复制到数据库中的表。
对于加载管道,管道软件包使用 DBMS_CLOUD.COPY_DATA 加载数据。
在 Autonomous AI Database(自治 AI 数据库)上,使用现有表或创建要在其中加载数据的数据库表。例如:
CREATE TABLE EMPLOYEE
(name VARCHAR2(128),
age NUMBER,
salary NUMBER);
创建管道以从对象存储或目录对象加载数据。
BEGIN
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name => 'MY_PIPE1',
pipeline_type => 'LOAD',
description => 'Load metrics from object store into a table'
);
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'MY_PIPE1',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'table_name' VALUE 'employee',
'format' VALUE '{"type":"json", "columnpath":["$.NAME", "$.AGE", "$.SALARY"]}',
'priority' VALUE 'HIGH',
'interval' VALUE '20')
);
END;
/
案例 2:创建用于从目录对象加载数据的管道。
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'MY_PIPE1',
pipeline_type => 'LOAD',
attributes => JSON_OBJECT(
'location' VALUE 'MY_DIR:*.csv',
'table_name' VALUE 'employee',
'format' VALUE '{"type":"csv"}',
'priority' VALUE 'HIGH',
'interval' VALUE '20')
);
END;
/
导出管道将数据从 Autonomous AI Database 导出到对象存储。创建导出管道时,管道会定期运行,并将数据放置在对象存储上。
创建管道以将数据导出到对象存储。
BEGIN
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name=>'EXP_PIPE1',
pipeline_type=>'EXPORT',
description=>'Export time series metrics to object store');
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE1',
attributes => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'table_name' VALUE 'metric_table',
'key_column' VALUE 'metric_time',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/
使用 query 参数:
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE1',
attributes => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'query' VALUE 'SELECT * from metrics_table',
'key_column' VALUE 'metric_time',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE2',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'query' VALUE 'SELECT * FROM table_name',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/