데이터베이스에서 읽어야 할 때마다 이 일반 소스를 사용할 수 있습니다. 예를 들어 일반 데이터베이스 테이블의 일일 스냅샷을 만들고 출력을 BigQuery에 기록하는 데 사용할 수 있습니다.
플러그인 구성
- Cloud Data Fusion 웹 인터페이스로 이동하고 Studio를 클릭하세요.
- 데이터 파이프라인 - 배치가 선택되었는지 확인합니다(실시간 아님).
- 소스 메뉴에서 데이터베이스를 클릭합니다.
- 플러그인을 구성하려면 플러그인 노드 위에 마우스 포인터를 올려놓고 속성을 클릭합니다.
다음 속성을 입력합니다. 각 속성에 대한 자세한 내용은 속성을 참조하세요.
- 데이터베이스 노드의 라벨을 입력합니다(예:
database tables
). 다음 연결 세부정보를 입력합니다. 새로운 일회성 연결 또는 기존의 재사용 가능한 연결을 설정할 수 있습니다.
새로운 연결
데이터베이스에 일회성 연결을 추가하려면 다음 단계를 수행합니다.
- 연결 사용을 사용 중지된 상태로 유지합니다.
- 다음 연결 속성을 입력합니다.
- JDBC 드라이버 이름 필드에 드라이버 이름을 입력합니다(있는 경우). 그렇지 않으면 JDBC 플러그인 없음을 선택된 상태로 둡니다.
- 연결 문자열 필드에 데이터베이스 이름을 포함한 JDBC 연결 문자열을 입력합니다.
- 선택사항: 데이터베이스에 인증이 필요한 경우 데이터베이스 사용자 이름 및 비밀번호 사용자 인증 정보를 입력합니다.
- 선택사항: JDBC 드라이버에 추가 구성이 필요하면 연결 인수 필드에 연결의 키-값 인수를 입력합니다.
재사용 가능한 연결
기존 연결을 재사용하려면 다음 단계를 따르세요.
- 연결 사용을 사용 설정합니다.
- 연결 찾아보기를 클릭합니다.
연결을 선택합니다.
선택사항: 연결이 존재하지 않고 재사용 가능한 새 연결을 만들려면 연결 추가를 클릭하고 이 페이지의 새 연결 탭의 단계를 참조하세요.
선택사항: 연결을 테스트하려면 스키마 가져오기를 클릭합니다. 이 스키마는 쿼리에서 반환되는 스키마 대신 사용됩니다. 쿼리에서 반환되는 스키마와 일치해야 합니다. 단, 필드를 null 허용으로 표시하고 필드 하위 집합을 포함할 수 있습니다.
쿼리 가져오기 필드에 지정된 테이블에서 데이터를 가져오기 위한
SELECT
쿼리를 입력합니다(예:select id, name, email, phone from users;
).(선택사항) 경계 쿼리 필드에 읽을 최솟값 및 최댓값을 입력합니다(예:
SELECT * FROM table WHERE $CONDITIONS
).선택사항: 분할 기준 필드 이름 필드에 분할을 생성하는 필드의 이름을 입력합니다.
(선택사항) 생성할 분할 수 필드에 숫자를 입력합니다(예:
2
).(선택사항) 가져오기 크기 필드에 숫자를 입력합니다(예:
1000
).선택사항: 열 이름의 대소문자 변경과 같은 고급 속성을 입력합니다.
- 데이터베이스 노드의 라벨을 입력합니다(예:
선택사항: 검증을 클릭하고 발견된 오류를 해결합니다.
닫기를 클릭합니다. 속성이 저장되고 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 데이터베이스 일괄 소스 플러그인을 대신 사용합니다.
다음 단계
- Cloud Data Fusion의 플러그인에 대해 자세히 알아보기