As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Esta seção descreve as etapas necessárias para configurar o DSBulk para upload de dados para o Amazon Keyspaces. Você configura o DSBulk usando um arquivo de configuração. Você especifica o arquivo de configuração diretamente da linha de comando.
-
Crie um arquivo de configuração DSBulk para a migração para o Amazon Keyspaces. Neste exemplo, usamos o nome de arquivo
dsbulk_keyspaces.conf
. Especifique as configurações a seguir no arquivo de configuração DSBulk.-
PlainTextAuthProvider
: crie o provedor de autenticação com a classePlainTextAuthProvider
.ServiceUserName
eServicePassword
devem corresponder ao nome de usuário e à senha que você obteve ao gerar as credenciais específicas do serviço seguindo as etapas em Crie credenciais para acesso programático ao Amazon Keyspaces . -
local-datacenter
: defina o valor dolocal-datacenter
para a Região da AWS à qual você está se conectando. Por exemplo, se o aplicativo estiver se conectando acassandra.us-east-2.amazonaws.com
, defina o datacenter local comous-east-2
. Para saber todas as Regiões da AWS disponíveis, consulte Endpoints de serviço para Amazon Keyspaces. Para evitar réplicas, definaslow-replica-avoidance
comofalse
. -
SSLEngineFactory
: para configurar o SSL/TLS, inicialize oSSLEngineFactory
adicionando uma seção no arquivo de configuração com uma única linha que especifica a classe comclass = DefaultSslEngineFactory
. Forneça o caminho paracassandra_truststore.jks
e a senha que você criou anteriormente. consistency
: defina o nível de consistência comoLOCAL QUORUM
. Outros níveis de consistência de gravação não são compatíveis; para obter mais informações, consulte Níveis de consistência de leitura e gravação do Apache Cassandra suportados e custos associados.O número de conexões por grupo é configurável no driver Java. Para este exemplo, defina
advanced.connection.pool.local.size
como 3.
Veja a seguir o arquivo de configuração de exemplo completo.
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 } -
-
Revise os parâmetros do comando
load
do DSBulk.executor.maxPerSecond
: o número máximo de linhas que o comando load tenta processar simultaneamente por segundo. Se não for definida, essa configuração é desativada com -1.Defina
executor.maxPerSecond
com base no número de WCUs que você provisionou na tabela de destino pretendida. Oexecutor.maxPerSecond
do comandoload
não é um limite – é uma média de destino. Isso significa que ele pode (e geralmente acontece) ultrapassar o número que você definiu. Para permitir picos e garantir que haja capacidade suficiente para lidar com as solicitações de carregamento de dados, definaexecutor.maxPerSecond
como 90% da capacidade de gravação da tabela.executor.maxPerSecond = WCUs * .90
Neste tutorial, definimos
executor.maxPerSecond
como 5.nota
Se você estiver usando o DSBulk 1.6.0 ou superior, você pode usar
dsbulk.engine.maxConcurrentQueries
em vez disso.Configure esses parâmetros adicionais para o comando
load
do DSBulk.batch-mode
: esse parâmetro instrui o sistema a agrupar as operações por chave de partição. Recomendamos desativar o modo em lote, pois isso pode resultar em cenários e causas de teclas de atalhoWriteThrottleEvents
.driver.advanced.retry-policy-max-retries
: isso determina quantas vezes tentar novamente uma consulta com falha. Se não estiver definido, o padrão é 10. Você pode ajustar esse valor conforme necessário.driver.basic.request.timeout
– O tempo em minutos em que o sistema espera o retorno de uma consulta. Se não estiver definido, o padrão é "5 minutos". Você pode ajustar esse valor conforme necessário.