데이터베이스용 Dataflow 관리형 I/O
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Dataflow는 Java Database Connectivity (JDBC)를 사용하여 데이터베이스에서 읽고 데이터베이스에 쓰는 작업을 지원합니다. Dataflow는 Apache Beam JdbcIO 커넥터를 사용하여 JDBC 데이터 소스 및 싱크에 연결합니다. 데이터베이스용 관리 I/O는 PostgreSQL, MySQL, Microsoft SQL Server를 비롯한 다양한 데이터베이스의 표준 JDBC 드라이버를 지원합니다.
요구사항
다음 SDK는 데이터베이스용 관리형 I/O를 지원합니다.
Java용 Apache Beam SDK 버전 2.69.0 이상
Python용 Apache Beam SDK 버전 2.69.0 이상
구성
데이터베이스용 관리형 I/O는 다음 구성 파라미터를 지원합니다.
POSTGRES 읽기
구성
유형
설명
jdbc_url
str
JDBC 소스의 연결 URL입니다.
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.
fetch_size
int32
이 메서드는 데이터베이스 호출마다 가져와 메모리에 로드할 데이터의 크기를 재정의하는 데 사용됩니다. 기본값이 메모리 오류를 발생시키는 경우에만 사용해야 합니다.
위치
str
읽을 테이블의 이름입니다.
num_partitions
int32
파티션 수
output_parallelization
boolean
결과가 모든 작업자에게 분산되도록 결과 PCollection을 재셔플할지 여부입니다.
partition_column
str
파티셔닝에 사용될 숫자 유형 열의 이름입니다.
비밀번호
str
JDBC 소스의 비밀번호입니다.
read_query
str
JDBC 소스를 쿼리하는 데 사용되는 SQL 쿼리입니다.
사용자 이름
str
JDBC 소스의 사용자 이름입니다.
POSTGRES 쓰기
구성
유형
설명
jdbc_url
str
JDBC 싱크의 연결 URL입니다.
자동 샤딩
boolean
참인 경우 동적으로 결정된 샤드 수를 쓰기에 사용하도록 설정합니다.
batch_size
int64
해당 사항 없음
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.
위치
str
쓰기 대상 테이블의 이름입니다.
비밀번호
str
JDBC 소스의 비밀번호입니다.
사용자 이름
str
JDBC 소스의 사용자 이름입니다.
write_statement
str
JDBC 싱크에 레코드를 삽입하는 데 사용되는 SQL 쿼리입니다.
MYSQL 읽기
구성
유형
설명
jdbc_url
str
JDBC 소스의 연결 URL입니다.
connection_init_sql
list[str]
드라이버에서 사용하는 연결 초기화 SQL 문을 설정합니다. MySQL 및 MariaDB만 이를 지원합니다.
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.
disable_auto_commit
boolean
읽기 시 자동 커밋을 사용 중지할지 여부입니다. 제공되지 않으면 기본값은 true입니다. 이 구성의 필요성은 데이터베이스 플랫폼에 따라 다릅니다. Informix는 false로 설정해야 하고 Postgres는 true로 설정해야 합니다.
fetch_size
int32
이 메서드는 데이터베이스 호출마다 가져와 메모리에 로드할 데이터의 크기를 재정의하는 데 사용됩니다. 기본값이 메모리 오류를 발생시키는 경우에만 사용해야 합니다.
위치
str
읽을 테이블의 이름입니다.
num_partitions
int32
파티션 수
output_parallelization
boolean
결과가 모든 작업자에게 분산되도록 결과 PCollection을 재셔플할지 여부입니다.
partition_column
str
파티셔닝에 사용될 숫자 유형 열의 이름입니다.
비밀번호
str
JDBC 소스의 비밀번호입니다.
read_query
str
JDBC 소스를 쿼리하는 데 사용되는 SQL 쿼리입니다.
사용자 이름
str
JDBC 소스의 사용자 이름입니다.
MYSQL 쓰기
구성
유형
설명
jdbc_url
str
JDBC 싱크의 연결 URL입니다.
자동 샤딩
boolean
참인 경우 동적으로 결정된 샤드 수를 쓰기에 사용하도록 설정합니다.
batch_size
int64
해당 사항 없음
connection_init_sql
list[str]
드라이버에서 사용하는 연결 초기화 SQL 문을 설정합니다. MySQL 및 MariaDB만 이를 지원합니다.
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.
위치
str
쓰기 대상 테이블의 이름입니다.
비밀번호
str
JDBC 소스의 비밀번호입니다.
사용자 이름
str
JDBC 소스의 사용자 이름입니다.
write_statement
str
JDBC 싱크에 레코드를 삽입하는 데 사용되는 SQL 쿼리입니다.
SQLSERVER 읽기
구성
유형
설명
jdbc_url
str
JDBC 소스의 연결 URL입니다.
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.
disable_auto_commit
boolean
읽기 시 자동 커밋을 사용 중지할지 여부입니다. 제공되지 않으면 기본값은 true입니다. 이 구성의 필요성은 데이터베이스 플랫폼에 따라 다릅니다. Informix는 false로 설정해야 하고 Postgres는 true로 설정해야 합니다.
fetch_size
int32
이 메서드는 데이터베이스 호출마다 가져와 메모리에 로드할 데이터의 크기를 재정의하는 데 사용됩니다. 기본값이 메모리 오류를 발생시키는 경우에만 사용해야 합니다.
위치
str
읽을 테이블의 이름입니다.
num_partitions
int32
파티션 수
output_parallelization
boolean
결과가 모든 작업자에게 분산되도록 결과 PCollection을 재셔플할지 여부입니다.
partition_column
str
파티셔닝에 사용될 숫자 유형 열의 이름입니다.
비밀번호
str
JDBC 소스의 비밀번호입니다.
read_query
str
JDBC 소스를 쿼리하는 데 사용되는 SQL 쿼리입니다.
사용자 이름
str
JDBC 소스의 사용자 이름입니다.
SQLSERVER 쓰기
구성
유형
설명
jdbc_url
str
JDBC 싱크의 연결 URL입니다.
자동 샤딩
boolean
참인 경우 동적으로 결정된 샤드 수를 쓰기에 사용하도록 설정합니다.
batch_size
int64
해당 사항 없음
connection_properties
str
이미 독립형 매개변수로 정의되지 않은 JDBC 드라이버에 전달되는 연결 속성을 설정하는 데 사용됩니다 (예: 위의 매개변수를 사용하여 사용자 이름과 비밀번호를 설정할 수 있음). 문자열 형식은 'key1=value1;key2=value2;'여야 합니다.