데이터베이스 일괄 소스

이 페이지에서는 Cloud Data Fusion에서 Database 일괄 소스 플러그인을 구성하는 방법을 안내합니다.

데이터베이스에서 읽어야 할 때마다 이 일반 소스를 사용할 수 있습니다. 예를 들어 일반 데이터베이스 테이블의 일일 스냅샷을 만들고 출력을 BigQuery에 기록하는 데 사용할 수 있습니다.

플러그인 구성

  1. Cloud Data Fusion 웹 인터페이스로 이동하고 Studio를 클릭하세요.
  2. 데이터 파이프라인 - 배치가 선택되었는지 확인합니다(실시간 아님).
  3. 소스 메뉴에서 데이터베이스를 클릭합니다.
  4. 플러그인을 구성하려면 플러그인 노드 위에 마우스 포인터를 올려놓고 속성을 클릭합니다.
  5. 다음 속성을 입력합니다. 각 속성에 대한 자세한 내용은 속성을 참조하세요.

    1. 데이터베이스 노드의 라벨을 입력합니다(예: database tables).
    2. 다음 연결 세부정보를 입력합니다. 새 일회성 연결 또는 재사용 가능한 기존 연결을 설정할 수 있습니다.

      새로운 연결

      데이터베이스에 일회성 연결을 추가하려면 다음 단계를 수행합니다.

      1. 연결 사용을 사용 중지된 상태로 유지합니다.
      2. 다음 연결 속성을 입력합니다.
        1. JDBC 드라이버 이름 필드에 드라이버 이름을 입력합니다(있는 경우). 그렇지 않으면 JDBC 플러그인 없음을 선택된 상태로 둡니다.
        2. 연결 문자열 필드에 데이터베이스 이름을 포함한 JDBC 연결 문자열을 입력합니다.
        3. 선택사항: 데이터베이스에 인증이 필요한 경우 데이터베이스 사용자 이름 및 비밀번호 사용자 인증 정보를 입력합니다.
        4. 선택사항: JDBC 드라이버에 추가 구성이 필요하면 연결 인수 필드에 연결의 키-값 인수를 입력합니다.

      재사용 가능한 연결

      기존 연결을 재사용하려면 다음 단계를 수행합니다.

      1. 연결 사용을 사용 설정합니다.
      2. 연결 찾아보기를 클릭합니다.
      3. 연결을 선택합니다.

      4. 선택사항: 연결이 존재하지 않고 재사용 가능한 새 연결을 만들려면 연결 추가를 클릭하고 이 페이지의 새 연결 탭의 단계를 참조하세요.

    3. 선택사항: 연결을 테스트하려면 스키마 가져오기를 클릭합니다. 이 스키마는 쿼리에서 반환되는 스키마 대신 사용됩니다. 쿼리에서 반환되는 스키마와 일치해야 합니다. 단, 필드를 null 허용으로 표시하고 필드 하위 집합을 포함할 수 있습니다.

    4. 쿼리 가져오기 필드에 지정된 테이블에서 데이터를 가져오기 위한 SELECT 쿼리를 입력합니다(예: select id, name, email, phone from users;).

    5. (선택사항) 경계 쿼리 필드에 읽을 최솟값 및 최댓값을 입력합니다(예: SELECT * FROM table WHERE $CONDITIONS).

    6. 선택사항: 분할 기준 필드 이름 필드에 분할을 생성하는 필드의 이름을 입력합니다.

    7. (선택사항) 생성할 분할 수 필드에 숫자를 입력합니다(예: 2).

    8. (선택사항) 가져오기 크기 필드에 숫자를 입력합니다(예: 1000).

    9. 선택사항: 열 이름의 대소문자 변경과 같은 고급 속성을 입력합니다.

  6. 선택사항: 검증을 클릭하고 발견된 오류를 해결합니다.

  7. 닫기를 클릭합니다. 속성이 저장되고 Cloud Data Fusion Studio에서 데이터 파이프라인을 계속 빌드할 수 있습니다.

속성

속성 매크로 사용 설정 필수 설명
라벨 아니요 데이터 파이프라인의 노드 이름입니다.
연결 사용 아니요 아니요 소스 연결을 찾습니다. 연결 사용을 선택하면 사용자 인증 정보를 제공할 필요가 없습니다.
연결 사용할 연결의 이름입니다. 연결 사용을 선택하면 이 필드가 표시됩니다. 데이터베이스 및 테이블 정보는 연결을 통해 제공됩니다.
JDBC 드라이버 이름 사용할 JDBC 드라이버입니다.
기본값은 JDBC 플러그인 없음입니다.
연결 문자열 데이터베이스 이름을 포함한 JDBC 연결 문자열입니다.
사용자 이름 아니요 데이터베이스에 연결하기 위한 사용자 ID입니다. 인증이 필요한 데이터베이스에 필요합니다. 인증이 필요하지 않은 데이터베이스에 선택사항입니다.
비밀번호 아니요 지정된 데이터베이스에 연결하는 데 사용할 비밀번호입니다. 인증이 필요한 데이터베이스에 필요합니다. 인증이 필요하지 않은 데이터베이스에 선택사항입니다.
연결 인수 아니요 연결 인수로서의 임의의 문자열 태그/값 쌍 목록입니다. 추가 구성이 필요한 JDBC 드라이버의 경우 이러한 인수는 key1=value1;key2=value 형식의 연결 인수로 JDBC 드라이버에 전달됩니다.
참조 이름 아니요 계보 및 주석 메타데이터에 대해 이 소스를 고유하게 식별하는 이름입니다. 일반적으로 테이블 또는 뷰의 이름입니다.
스키마 가져오기 아니요 아니요 소스별 레코드 출력 스키마입니다. 쿼리에서 반환된 스키마 대신 사용됩니다. 쿼리에서 반환되는 스키마와 일치해야 합니다. 단, 필드를 null 허용으로 표시하고 필드 하위 집합을 포함할 수 있습니다.
쿼리 가져오기 지정된 테이블에서 데이터를 가져오는 SELECT 쿼리입니다. 가져올 열의 임의의 수를 지정하거나 *를 사용하여 모든 열을 가져올 수 있습니다. 쿼리에는 $CONDITIONS 문자열이 포함되어야 합니다. 예를 들면 SELECT * FROM table WHERE $CONDITIONS입니다. $CONDITIONS 문자열은 경계 쿼리 필드에 지정된 splitBy 필드 한도로 대체됩니다. 분할 수 필드가 1로 설정된 경우 $CONDITIONS 문자열이 필요하지 않습니다.
경계 쿼리 아니요 분할 열의 최솟값과 최댓값을 반환하는 경계 쿼리입니다. 예: SELECT MIN(id),MAX(id) FROM table. 분할 수를 1로 설정한 경우에는 필요하지 않습니다.
분할 기준 필드 이름 아니요 분할을 생성하는 데 사용되는 필드 이름입니다. 생성할 분할 수를 1로 설정한 경우에는 필요하지 않습니다.
생성할 분할 수 아니요 생성할 분할 수
기본값은 1입니다.
가져오기 크기 아니요 분할당 한 번에 가져올 행 수입니다. 가져오기 크기가 클수록 가져오기 속도가 빨라지지만 메모리 사용량이 높아집니다.
기본값은 1000입니다.
자동 커밋 사용 설정 아니요 아니요 이 소스에서 실행되는 쿼리에 자동 커밋을 사용 설정할지 여부입니다. 커밋 작업을 실행할 때 오류를 일으키는 JDBC 드라이버를 사용하지 않는 한 이 설정을 False로 유지합니다.
기본값은 False입니다.
열 이름 대소문자 아니요 쿼리에서 반환된 열 이름의 대소문자를 설정합니다. 대문자 또는 소문자를 선택할 수 있습니다. 기본적으로 또는 다른 입력의 경우 열 이름은 수정되지 않으며 데이터베이스에서 반환된 대소문자가 사용됩니다. 이 속성을 설정하면 서로 다른 데이터베이스에서 열 이름 대문자 사용을 예측할 수 있지만, 대소문자가 무시될 때 여러 열 이름이 같으면 열 이름 충돌이 일어날 수 있습니다.
기본값은 변경 없음입니다.
트랜잭션 격리 수준 아니요 이 싱크에서 실행되는 쿼리의 트랜잭션 격리 수준입니다. 자세한 내용은 setTransactionIsolation()을 참조하세요. Phoenix 데이터베이스에 사용 설정된 트랜잭션이 없고 이 필드가 true로 설정된 경우 Phoenix JDBC 드라이버에서 예외가 발생합니다. 이러한 드라이버의 경우 이 필드를 TRANSACTION_NONE로 설정합니다.
기본값은 TRANSACTION_SERIALIZABLE입니다.
교체할 패턴 아니요 아니요 테이블의 필드 이름에 사용할 패턴입니다(일반적으로 바꾸기 속성에 사용됨). 바꾸기 속성을 설정하지 않으면 패턴이 필드 이름에서 삭제됩니다.
바꾸기 아니요 아니요 테이블의 필드 이름에서 대체되는 문자열입니다. 또한 대체할 패턴 필드도 구성해야 합니다.
출력 스키마 아니요 아니요 출력하는 스키마를 지정합니다. 스키마에 정의된 열만 출력 레코드에 포함됩니다.

권장사항

데이터베이스에 더 구체적인 플러그인이 있는지 확인합니다. 예를 들어 Oracle 데이터베이스 소스가 있는 경우 Oracle 스키마와 함께 작동하도록 설계되었으므로 Oracle 데이터베이스 일괄 소스 플러그인을 대신 사용합니다.

다음 단계