您可以建立管線,將資料從物件存放區或目錄中的外部檔案載入至 Autonomous AI Database 中的表格。
載入管線會使用放置在物件存放區或目錄中的資料,並將其載入 Autonomous AI Database 中的表格。建立載入管線時,當新的資料檔到達管線時,管線會定期執行,以使用放置在來源位置的資料。您也可以使用管線可靠地複製檔案 (具備恢復和重試功能),從來源位置到資料庫上的表格。
使用載入管線時,管線套件會使用 DBMS_CLOUD.COPY_DATA 來載入資料。
在您的 Autonomous AI Database 上,使用現有表格或建立您要載入資料的資料庫表格。舉例而言:
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;
/