UpdateDatabaseTable 2025.5.31.15

번들

org.apache.nifi | nifi-standard-nar

설명

이 프로세서는 JDBC 연결과 수신 레코드를 사용하여 수신 레코드를 지원하는 데 필요한 데이터베이스 테이블 변경 사항을 생성합니다. 이는 최상위 레코드 필드에 열 자체가 될 중첩된 필드가 없는’플랫’레코드 레이아웃을 예상합니다.

태그

alter, database, jdbc, metadata, table, update

입력 요구 사항

REQUIRED

민감한 동적 속성 지원

false

속성

속성

설명

열 이름 변환 패턴

열 이름은 다음 정규식으로 정규화됩니다

Column Name Translation Strategy

테이블 열 이름을 정규화하는 데 사용되는 전략입니다. 전략에 관계없이 대/소문자를 구분하지 않는 매칭을 수행하기 위해 열 이름이 대문자로 표시됩니다

데이터베이스 언어 서비스

특정 서비스 또는 공급업체와 관련된 문을 생성하기 위한 데이터베이스 언어 서비스입니다.

db-type

특정 서비스 또는 공급자와 관련된 문을 생성하기 위한 데이터베이스 유형으로, 일반 유형은 대부분의 경우를 지원하지만 특정 유형을 선택하면 프로세서의 추가 기능을 최적화할 수 있습니다.

record-reader

수신 플로우 파일을 읽기 위한 서비스입니다. 리더는 레코드의 스키마를 결정하는 데만 사용되며 실제 레코드는 처리되지 않습니다.

업데이트된 데이터베이스 테이블 카탈로그 이름

문으로 업데이트할 카탈로그의 이름입니다. 업데이트 중인 데이터베이스에는 적용되지 않을 수 있습니다. 이 경우 필드를 비워 두십시오. 속성이 설정되어 있고 데이터베이스가 대/소문자를 구분하는 경우 카탈로그 이름은 데이터베이스의 카탈로그 이름과 정확히 일치해야 합니다.

업데이트된 데이터베이스 테이블 생성 테이블

대상 테이블이 존재하지 않을 때 처리 방법을 지정합니다(예: 생성, 실패 등).

updatedatabasetable-dbcp-service

데이터베이스에 대한 연결을 얻는 데 사용되는 컨트롤러 서비스입니다

업데이트된 데이터베이스 테이블 기본 키

데이터베이스에서 행을 고유하게 식별하는 쉼표로 구분된 레코드 필드 이름의 목록입니다. 이 속성은 지정된 테이블을 생성해야 하는 경우에만 사용되며, 이 경우 기본 키 필드는 새로 생성한 테이블의 기본 키를 지정하는 데 사용됩니다. 중요: 기본 키 필드는 ‘인용 열 식별자’가 false이고 데이터베이스에서 대/소문자를 구분하지 않는 열 이름을 허용하지 않는 한 레코드 필드 이름과 정확히 일치해야 합니다. 실제로는 레코드 필드 이름과 정확히 일치하는 기본 키 필드를 지정하는 것이 가장 좋으며, 생성된 테이블의 열 이름이 됩니다.

업데이트된 데이터베이스 테이블 쿼리 시간 제한

드라이버가 쿼리가 실행될 때까지 대기할 시간(초)을 설정합니다. 값이 0이면 시간 제한이 없습니다. 참고: 0이 아닌 값은 드라이버에서 지원되지 않을 수 있습니다.

업데이트된 데이터베이스 테이블 따옴표 열 식별자

이 옵션을 활성화하면 모든 열 이름이 따옴표로 묶여 테이블의 열 이름으로 예약어를 사용하거나 레코드 필드 이름이 열 이름과 정확히 일치하도록 강제할 수 있습니다.

업데이트된 데이터베이스 테이블 따옴표 테이블 식별자

이 옵션을 활성화하면 테이블 이름에 특수 문자를 사용할 수 있도록 테이블 이름이 따옴표로 묶이거나 테이블 이름 속성 값이 대상 테이블 이름과 정확히 일치하도록 강제 지정됩니다.

updatedatabasetable-record-writer

FlowFile 에 결과를 기록하는 데 사용할 컨트롤러 서비스를 지정합니다. Record Writer는 추론된 스키마 동작을 에뮬레이션하기 위해 스키마 상속을 사용해야 합니다. 즉, 작성기에서 명시적 스키마를 정의할 필요가 없으며 열 유형에서 스키마를 추론하는 데 사용되는 동일한 논리가 제공됩니다. Create Table Strategy가 ‘Create If Not Exists’로 설정된 경우, 생성된 테이블 위치에 데이터를 배치하려면 Record Writer의 출력 형식이 Record Reader의 형식과 일치해야 합니다. 이 속성은 ‘Update Field Names’이 true로 설정되어 있고 필드 이름이 모두 열 이름과 정확히 일치하지 않는 경우에만 사용됩니다. 필드 이름에 대한 업데이트가 필요하지 않거나 ‘필드 이름 업데이트’가 false인 경우 Record Writer가 사용되지 않고 대신 입력된 FlowFile 이 수정 없이 성공 또는 실패로 라우팅됩니다.

업데이트된 데이터베이스 테이블 스키마 이름

테이블이 속한 데이터베이스 스키마의 이름입니다. 업데이트 중인 데이터베이스에는 적용되지 않을 수 있습니다. 이 경우 필드를 비워 두십시오. 속성이 설정되어 있고 데이터베이스가 대/소문자를 구분하는 경우 스키마 이름이 데이터베이스의 스키마 이름과 정확히 일치해야 한다는 점에 유의하십시오.

업데이트된 데이터베이스 테이블 이름

업데이트할 데이터베이스 테이블의 이름입니다. 테이블이 존재하지 않으면 Create Table 속성의 값에 따라 테이블이 생성되거나 오류가 throw됩니다.

업데이트된 데이터베이스 테이블-변환 필드 이름

true이면 프로세서는 필드 이름이 대상 테이블에 열로 존재하는지 여부를 결정하기 위해 필드 이름을 지정된 테이블의 해당 열 이름으로 변환하려고 시도합니다. 참고: 대상 테이블이 존재하지 않고 생성하려는 경우 이 속성은 무시되고 필드 이름이 그대로 사용됩니다. false인 경우 필드 이름이 열 이름과 정확히 일치해야 하며, 그렇지 않으면 열을 찾을 수 없고 대신 열이 이미 존재한다는 오류가 보고될 수 있습니다.

업데이트된 데이터베이스 테이블 업데이트 필드 이름

이 속성은 필드 이름이 지정된 테이블의 정확한 열 이름으로 설정되도록 출력 스키마를 업데이트할지 여부를 나타냅니다. 수신 레코드 필드 이름이 테이블의 열 이름과 대/소문자가 일치하지 않을 수 있는 경우 이 옵션을 사용해야 합니다. 예를 들어, 필드 이름이 열 이름과 정확히 일치할 것으로 예상되는 FlowFile 출력이 Oracle을 대상으로 하는 경우 이 속성을 true로 설정해야 합니다. 참고: 필드 이름을 업데이트할 때 ‘Translate Field Names’ 속성의 값은 무시되며, 대신 데이터베이스에서 반환된 열 이름과 일치하도록 업데이트됩니다.

관계

이름

설명

실패

레코드를 데이터베이스로 전송할 수 없는 경우 이 관계로 라우팅된 레코드가 포함된 FlowFile 입니다.

성공

레코드가 데이터베이스로 성공적으로 전송된 후 이 관계로 라우팅된 레코드가 포함된 FlowFile 입니다.

Writes 특성

이름

설명

output.table

이 특성은 ‘성공’ 및 ‘실패’ 관계로 라우팅되는 플로우 파일에 기록되며 대상 테이블 이름을 포함합니다.

output.path

이 특성은 ‘성공’ 및 ‘실패’ 관계로 라우팅되는 플로우 파일에 기록되며, 파일 시스템에서 테이블(테이블이 파티션된 경우 파티션 위치)에 대한 경로를 포함합니다.

mime.type

Record Writer가 지정되고 필드 이름 업데이트가 ‘true’인 경우에만 mime.type 특성을 Record Writer가 지정한MIME유형으로 설정합니다.

record.count

Record Writer가 지정되고 필드 이름 업데이트가 ‘true’인 경우에만 FlowFile 에 있는 레코드 수를 설정합니다.