파이프라인 생성 및 구성
하나 이상의 하중을 작성하거나 파이프라인을 내보낼 수 있습니다. 파이프라인을 생성할 때 매개변수를 사용하고 파이프라인 속성을 설정하여 파이프라인을 구성합니다.
파이프라인을 생성하고 구성하는 옵션은 다음과 같습니다.
-
파이프라인 로드:
- 데이터 로드를 위한 파이프라인 생성 및 구성을 참조하십시오.
-
파이프라인 익스포트:
-
최신 데이터를 추적하기 위한 키로 날짜 또는 시간 기록 열을 사용하여 쿼리의 증분 결과를 객체 저장소로 내보냅니다. 시간 기록 열을 사용하여 익스포트할 파이프라인 생성 및 구성을 참조하십시오.
-
날짜 또는 시간 기록 열을 최신 데이터 추적을 위한 키로 사용하여 테이블의 증분 데이터를 객체 저장소로 익스포트합니다. 시간 기록 열을 사용하여 익스포트할 파이프라인 생성 및 구성을 참조하십시오.
-
쿼리를 사용하여 테이블 데이터를 객체 저장소로 내보내 날짜 또는 시간 기록 열을 참조하지 않고 데이터를 선택합니다(파이프라인이 각 스케줄러 실행에 대해 질의가 선택하는 모든 데이터를 익스포트하도록 함). 시간 기록 없이 질의 결과를 익스포트하도록 파이프라인 생성 및 구성을 참조하십시오.
-
데이터 로드를 위한 파이프라인 생성 및 구성
객체 저장소 또는 디렉토리의 외부 파일에서 자율운영 AI 데이터베이스의 테이블로 데이터를 로드하는 파이프라인을 생성할 수 있습니다.
로드 파이프라인은 객체 저장소 또는 디렉토리에 있는 데이터를 소비하여 자율운영 AI 데이터베이스의 테이블로 로드합니다. 로드 파이프라인을 생성하면 파이프라인이 정기적으로 실행되어 소스 위치에 배치된 데이터를 소비하고, 새 데이터 파일이 도착하면 파이프라인이 새 데이터를 로드합니다. 파이프라인을 사용하여 소스 위치에서 데이터베이스의 테이블로 재개 및 재시도 기능을 사용하여 파일을 안정적으로 복사할 수도 있습니다.
로드 파이프라인의 경우 파이프라인 패키지는 DBMS_CLOUD.COPY_DATA를 사용하여 데이터를 로드합니다.
자율운영 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; /자세한 내용은 CREATE_PIPELINE 프로시저를 참조하십시오.
-
로드 중인 파일이 포함된 객체 저장소에 액세스하기 위한 인증서 객체를 생성합니다.
credential_name속성을 사용하여 파이프라인 소스 위치에 대한 인증서를 지정합니다. 다음 단계에서credential_name를 제공하지 않을 경우credential_name값이NULL로 설정됩니다.location속성이 공용 또는 사전 인증된 URL인 경우 기본NULL값을 사용할 수 있습니다.자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
-
필수 속성인
location,table_name및format를 포함하여 파이프라인 속성을 설정합니다.사례 1: 객체 저장소에서 데이터를 로드하기 위한 파이프라인을 생성합니다.
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; /두 경우 모두 로드 파이프라인을 실행하도록 다음 속성을 설정해야 합니다.
-
location: 객체 저장소 또는 디렉토리 객체의 소스 파일 위치를 지정합니다. -
table_name: 데이터를 로드하는 데이터베이스의 테이블을 지정합니다. 지정하는location는 파이프라인당 하나의table_name에 대한 것입니다. -
format: 로드 중인 데이터의 형식을 설명합니다.자세한 내용은 DBMS_CLOUD Package Format Options을 참조하십시오.
credential_name은 이전 단계에서 생성한 인증서입니다.priority값은 병렬로 로드된 파일 수를 결정합니다. 우선 순위가 높은 파이프라인은 낮은 우선 순위에서 실행하는 것보다 더 많은 데이터베이스 리소스를 사용하고 각 실행을 더 빠르게 완료합니다.interval값은 파이프라인 작업의 연속 실행 사이의 시간 간격(분)을 지정합니다. 기본interval는 15분입니다.파이프라인 속성에 대한 자세한 내용은 DBMS_CLOUD_PIPELINE 속성을 참조하십시오.
-
-
파이프라인을 생성한 후 파이프라인을 테스트하거나 파이프라인을 시작할 수 있습니다.
또는 JSON에 대한 형식을 설정하려면 다음 형식을 사용할 수 있습니다.
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'MY_PIPE1',
attribute_name => 'format',
attribute_value => JSON_OBJECT('type' value 'json', 'columnpath' value '["$.NAME", "$.AGE", "$.SALARY"]')
);
END;
/
시간기록 열을 사용하여 익스포트할 파이프라인 생성 및 구성
익스포트 파이프라인을 생성하여 자율운영 AI 데이터베이스에서 객체 저장소로 시계열 데이터를 자동으로 익스포트할 수 있습니다.
이 익스포트 파이프라인 옵션을 사용하여 파이프라인이 마지막 업로드 시간을 추적하는 데 사용하는 시간 기록이 있는 테이블 또는 SQL 질의와 열을 지정합니다. 내보내기 파이프라인을 사용하여 다른 애플리케이션에서 사용할 데이터를 공유하거나 오브젝트 저장소에 데이터를 저장할 수 있습니다.
익스포트 파이프라인의 경우 파이프라인 패키지는 DBMS_CLOUD.EXPORT_DATA를 사용하여 데이터를 익스포트합니다.
익스포트 파이프라인은 자율운영 AI 데이터베이스에서 객체 저장소로 데이터를 익스포트합니다. 내보내기 파이프라인을 만들 때 파이프라인은 정기적으로 실행되며 오브젝트 저장소에 데이터를 배치합니다.
-
데이터를 객체 저장소로 익스포트할 파이프라인을 생성합니다.
BEGIN DBMS_CLOUD_PIPELINE.CREATE_PIPELINE( pipeline_name=>'EXP_PIPE1', pipeline_type=>'EXPORT', description=>'Export time series metrics to object store'); END; /자세한 내용은 CREATE_PIPELINE 프로시저를 참조하십시오.
-
데이터 파일을 익스포트할 대상 객체 저장소 위치에 액세스할 인증서 객체를 생성합니다.
credential_name속성을 사용하여 파이프라인 대상 위치에 대한 인증서를 지정합니다. 다음 단계에서credential_name를 제공하지 않을 경우credential_name값이NULL로 설정됩니다.location속성이 공용 또는 사전 인증된 URL인 경우 기본NULL값을 사용할 수 있습니다.자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
-
익스포트 파이프라인 속성을 설정합니다.
table_name매개변수를 지정하면 테이블 행이 객체 저장소로 익스포트됩니다.query매개변수를 지정할 때 질의는 필요한 데이터만 객체 저장소로 익스포트되도록SELECT문을 지정합니다.-
table_name매개변수 사용: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; /여기서
credential_name는 이전 단계에서 생성한 인증서입니다.
익스포트 파이프라인을 실행하려면 다음 속성을 설정해야 합니다.
-
location: 대상 객체 저장소 위치를 지정합니다. 지정하는location은 파이프라인당 하나의table_name에 대한 것입니다. -
table_name: 익스포트할 데이터가 포함된 데이터베이스의 테이블을 지정합니다.table_name매개변수 또는query매개변수가 필요합니다. -
query: 익스포트할 데이터를 제공하는 데이터베이스에서 실행할 질의를 지정합니다.table_name매개변수 또는query매개변수가 필요합니다. -
format: 익스포트할 데이터의 형식을 설명합니다.자세한 내용은 EXPORT_DATA용 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.
priority값은 데이터베이스에서 데이터를 인출하기 위한 병렬도를 결정합니다.interval값은 파이프라인 작업의 연속 실행 사이의 시간 간격(분)을 지정합니다. 기본interval는 15분입니다.파이프라인 속성에 대한 자세한 내용은 DBMS_CLOUD_PIPELINE 속성을 참조하십시오.
파이프라인을 생성한 후 파이프라인을 테스트하거나 파이프라인을 시작할 수 있습니다.
-
파이프라인 생성 및 구성하여 질의 결과 익스포트(시간 기록 없음)
익스포트 파이프라인을 생성하여 자율운영 AI 데이터베이스에서 객체 저장소로 데이터를 자동으로 익스포트할 수 있습니다. 이 파이프라인 익스포트 옵션을 사용하여 파이프라인이 주기적으로 실행되는 SQL 질의를 지정하여 데이터를 객체 저장소로 익스포트합니다. 이 익스포트 옵션을 사용하여 다른 애플리케이션에서 데이터를 소비할 수 있도록 자율운영 AI 데이터베이스의 최신 데이터를 객체 저장소로 공유할 수 있습니다.
익스포트 파이프라인은 자율운영 AI 데이터베이스에서 객체 저장소로 데이터를 익스포트합니다. 내보내기 파이프라인을 만들 때 파이프라인은 정기적으로 실행되며 오브젝트 저장소에 데이터를 배치합니다.
-
데이터를 객체 저장소로 익스포트할 파이프라인을 생성합니다.
BEGIN DBMS_CLOUD_PIPELINE.CREATE_PIPELINE( pipeline_name=>'EXP_PIPE2', pipeline_type=>'EXPORT', description=>'Export query results to object store.'); END; /자세한 내용은 CREATE_PIPELINE 프로시저를 참조하십시오.
-
데이터 파일을 익스포트할 대상 객체 저장소 위치에 액세스할 인증서 객체를 생성합니다.
credential_name속성을 사용하여 파이프라인 대상 위치에 대한 인증서를 지정합니다. 다음 단계에서credential_name를 제공하지 않을 경우credential_name값이NULL로 설정됩니다.location속성이 공용 또는 사전 인증된 URL인 경우 기본NULL값을 사용할 수 있습니다.자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
-
익스포트 파이프라인 속성을 설정합니다.
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; /여기서
credential_name는 이전 단계에서 생성한 인증서입니다.익스포트 파이프라인을 실행하려면 다음 속성을 설정해야 합니다.
-
location: 대상 객체 저장소 위치를 지정합니다. -
query: 익스포트할 데이터를 제공하는 데이터베이스에서 실행할 질의를 지정합니다. -
format: 익스포트할 데이터의 형식을 설명합니다.자세한 내용은 EXPORT_DATA용 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.
priority값은 데이터베이스에서 데이터를 인출하기 위한 병렬도를 결정합니다.interval값은 파이프라인 작업의 연속 실행 사이의 시간 간격(분)을 지정합니다. 기본interval는 15분입니다.파이프라인 속성에 대한 자세한 내용은 DBMS_CLOUD_PIPELINE 속성을 참조하십시오.
파이프라인을 생성한 후 파이프라인을 테스트하거나 파이프라인을 시작할 수 있습니다.
-
파이프 라인 테스트
일정이 잡힌 작업을 생성하지 않고 요청 시 파이프라인을 한 번 실행하려면 RUN_PIPELINE_ONCE를 사용합니다.
RUN_PIPELINE_ONCE는 파이프라인을 시작하기 전에 파이프라인을 테스트하는 데 유용합니다. 파이프라인을 한 번 실행하여 파이프라인을 테스트하고 예상대로 작동하는지 확인한 후 RESET_PIPELINE를 사용하여 파이프라인의 상태를 RUN_PIPELINE_ONCE를 실행하기 전 상태로 재설정합니다.
-
파이프라인을 생성합니다.
자세한 내용은 데이터 로드를 위한 파이프라인 생성 및 구성을 참조하십시오.
-
파이프라인을 한 번 실행하여 파이프라인을 테스트합니다.
BEGIN DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE( pipeline_name => 'MY_PIPE1' ); END; /자세한 내용은 RUN_PIPELINE_ONCE Procedure를 참조하십시오.
-
필요한 검사를 수행하여 파이프라인이 예상대로 작동하는지 확인합니다.
자세한 내용은 파이프라인 모니터링 및 문제 해결을 참조하십시오.
-
파이프라인을 재설정합니다.
BEGIN DBMS_CLOUD_PIPELINE.RESET_PIPELINE( pipeline_name => 'MY_PIPE1', purge_data => TRUE ); END; /자세한 내용은 RESET_PIPELINE 프로시저를 참조하십시오.