UpdateDatabaseTable 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-standard-nar
설명¶
이 프로세서는 JDBC 연결과 수신 레코드를 사용하여 수신 레코드를 지원하는 데 필요한 데이터베이스 테이블 변경 사항을 생성합니다. 이는 최상위 레코드 필드에 열 자체가 될 중첩된 필드가 없는’플랫’레코드 레이아웃을 예상합니다.
입력 요구 사항¶
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 에 있는 레코드 수를 설정합니다. |