기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
4단계: CSV 파일의 데이터를 대상 테이블로 업로드하도록 DSBulk
설정을 구성합니다.
이 섹션에서는 Amazon DSBulk Keyspaces에 데이터를 업로드하도록 구성하는 데 필요한 단계를 간략하게 설명합니다. 구성 파일을 DSBulk 사용하여 구성합니다. 구성 파일은 명령줄에서 직접 지정합니다.
-
Amazon Keyspaces로 마이그레이션하기 위한 DSBulk 구성 파일을 생성합니다. 이 예에서는 파일 이름을 사용합니다.
dsbulk_keyspaces.conf
DSBulk구성 파일에 다음 설정을 지정합니다.-
PlainTextAuthProvider
-PlainTextAuthProvider
클래스를 사용하여 인증 제공자를 생성합니다.ServiceUserName
및ServicePassword
는 Amazon Keyspaces에 프로그래밍 방식으로 액세스하기 위한 자격 증명 생성 의 단계에 따라 서비스별 보안 인증을 생성할 때 얻은 사용자 이름 및 암호와 일치해야 합니다. -
local-datacenter
— 의 값을local-datacenter
로 설정합니다. AWS 리전 연결 중인 대상. 예를 들어 애플리케이션이cassandra.us-east-2.amazonaws.com
에 연결 중인 경우 로컬 데이터 센터를us-east-2
로 설정합니다. 모두 사용 가능 AWS 리전, 을 참조하십시오Amazon Keyspaces의 서비스 엔드포인트. 복제본을 피하려면slow-replica-avoidance
를false
로 설정합니다. -
SSLEngineFactory
— SSL TLS /를 구성하려면 구성 파일에 클래스를 지정하는 한 줄로 섹션을SSLEngineFactory
추가하여 를 초기화합니다.class = DefaultSslEngineFactory
cassandra_truststore.jks
의 경로와 이전에 만든 암호를 입력합니다. consistency
- 일관성 수준을LOCAL QUORUM
으로 설정합니다. 다른 쓰기 일관성 수준은 지원되지 않습니다. 자세한 내용은 지원되는 Apache Cassandra 읽기 및 쓰기 일관성 수준 및 관련 비용 섹션을 참조하세요.Java 드라이버에서 풀당 연결 수를 구성할 수 있습니다. 이 예제에서는
advanced.connection.pool.local.size
를 3으로 설정합니다.
다음은 전체 샘플 구성 파일입니다.
datastax-java-driver { basic.contact-points = [ "
cassandra.us-east-2.amazonaws.com:9142
"] advanced.auth-provider { class = PlainTextAuthProvider username = "ServiceUserName
" password = "ServicePassword
" } basic.load-balancing-policy { local-datacenter = "us-east-2
" slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM default-idempotence = true } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "./cassandra_truststore.jks" truststore-password = "my_password
" hostname-validation = false } advanced.connection.pool.local.size = 3 } -
-
DSBulk
load
명령의 매개 변수를 검토하십시오.executor.maxPerSecond
- load 명령이 초당 동시에 처리하려고 시도하는 최대 행 수입니다. 설정하지 않으면 이 설정이 -1로 비활성화됩니다.대상 테이블에 WCUs 프로비저닝한 개수를
executor.maxPerSecond
기준으로 설정합니다.load
명령의executor.maxPerSecond
는 제한이 아니라 대상 평균입니다. 즉, 설정한 수치를 초과할 수 있으며 종종 그럴 수도 있습니다. 버스트를 허용하고 데이터 로드 요청을 처리할 수 있는 충분한 용량을 확보하려면executor.maxPerSecond
를 테이블 쓰기 용량의 90% 설정합니다.executor.maxPerSecond = WCUs * .90
이 자습서에서는
executor.maxPerSecond
를 5로 설정했습니다.참고
DSBulk1.6.0 이상을 사용하는 경우 대신 사용할 수 있습니다.
dsbulk.engine.maxConcurrentQueries
명령에 대해 다음과 같은 추가 매개변수를 구성합니다. DSBulk
load
batch-mode
- 이 파라미터는 파티션 키별로 작업을 그룹화하도록 시스템에 지시합니다. 배치 모드를 비활성화하면 핫 키 시나리오와 원인이 발생할 수 있으므로 비활성화하는 것이 좋습니다WriteThrottleEvents
.driver.advanced.retry-policy-max-retries
- 실패한 쿼리를 재시도할 횟수를 결정합니다. 설정하지 않은 경우 기본값은 10입니다. 필요에 따라 이 값을 조정할 수 있습니다.driver.basic.request.timeout
- 시스템에서 쿼리가 반환되기를 기다리는 시간(분)입니다. 설정하지 않은 경우 기본값은 "5분"입니다. 필요에 따라 이 값을 조정할 수 있습니다.