Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

테이블 가져오기의 증분 초기 상태

initialIncrementalState는 추가 방식의 수집에서 사용할 열과 초기 기준값을 정합니다. 타임스탬프나 ID처럼 단조 증가하는 열이 필요하며, 이전에 가져온 최댓값보다 큰 범위의 행을 선택합니다. currentValue는 이 초기 상태에 넣는 값입니다.

SQL에서는 ?로 상태값을 참조합니다. 예를 들어 WHERE order_id > ?로 이전 범위와 겹치지 않는 행을 선택할 수 있습니다. 기준값과 같거나 작은 값의 행은 이 조건에 포함되지 않으므로 원천 데이터의 증가 순서와 늦게 도착하는 행의 조건을 확인합니다.

유형별 필드

각 분기는 type, columnName, currentValue가 모두 필수입니다. 날짜는 날짜 문자열, 타임스탬프는 UTC의 날짜 및 시각 값을 사용합니다. decimal 형식의 HTTP 필드는 소수 문자열이며 Python SDK 모델에서는 decimal.Decimal로 다룹니다.

분기 stringColumnInitialIncrementalState

문자열 열을 사용하는 증분 가져오기의 초기 상태입니다.

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: stringColumnInitialIncrementalState.stringColumnInitialIncrementalState
columnNamestring필수myStringColumn
currentValuestring필수쿼리에서 참조할 문자열 열의 초기 기준값입니다.

분기 dateColumnInitialIncrementalState

날짜 열을 사용하는 증분 가져오기의 초기 상태입니다.

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: dateColumnInitialIncrementalState.dateColumnInitialIncrementalState
columnNamestring필수myDateColumn
currentValuestring (date)필수쿼리에서 참조할 날짜 열의 초기 기준값입니다.2024-12-31

분기 integerColumnInitialIncrementalState

정수 열을 사용하는 증분 가져오기의 초기 상태입니다.

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: integerColumnInitialIncrementalState.integerColumnInitialIncrementalState
columnNamestring필수myIdColumn
currentValueinteger필수쿼리에서 참조할 정수 열의 초기 기준값입니다.1

분기 timestampColumnInitialIncrementalState

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: timestampColumnInitialIncrementalState.timestampColumnInitialIncrementalState
columnNamestring필수myTimeColumn
currentValuestring (date-time)필수쿼리에서 참조할 타임스탬프 열의 초기 기준값이며 UTC를 사용합니다.2020-09-30T14:30:00Z

분기 longColumnInitialIncrementalState

long 정수 열을 사용하는 증분 가져오기의 초기 상태입니다.

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: longColumnInitialIncrementalState.longColumnInitialIncrementalState
columnNamestring필수myIdColumn
currentValuelong필수쿼리에서 참조할 long 열의 초기 기준값입니다.1000

분기 decimalColumnInitialIncrementalState

decimal 열을 사용하는 증분 가져오기의 초기 상태입니다.

이름자료형필수 여부의미와 조건예시 값
typeenum필수분기를 구분하는 type 값입니다. 허용값: decimalColumnInitialIncrementalState.decimalColumnInitialIncrementalState
columnNamestring필수sequence_decimal
currentValuestring (decimal)필수쿼리에서 참조할 decimal 열의 초기 기준값입니다.3.25

정수 기준값과 SQL의 결합

다음은 order_id가 1,000보다 큰 주문을 수집하려는 가상 config 값입니다. 실제 테이블과 열을 확인하고 생성 요청의 importMode를 APPEND로 설정하여 추가 수집에 사용합니다.

{
  "type": "jdbcImportConfig",
  "query": "SELECT order_id, order_date FROM example_orders WHERE order_id > ?",
  "initialIncrementalState": {
    "type": "integerColumnInitialIncrementalState",
    "columnName": "order_id",
    "currentValue": 1000
  }
}

?는 SQL 문자열 안의 매개변수 표기입니다. 문자열 값 자체로 비교하도록 따옴표로 감싸지 않습니다. 상태의 열 이름과 조회 결과의 열, 그리고 비교 조건을 같은 의도로 구성합니다.

문자열이나 날짜, 소수 자료형을 선택했다는 이유만으로 해당 열이 단조 증가하는 것은 아닙니다. 원천에서 그 조건을 충족하는 열을 선택하고 그 열의 자료형에 맞는 초기 상태 분기를 사용합니다.