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á.
Etapa 4: definir DSBulk
as configurações para carregar dados do CSV arquivo para a tabela de destino
Esta seção descreve as etapas necessárias para configurar o upload de dados DSBulk para o Amazon Keyspaces. Você configura DSBulk usando um arquivo de configuração. Você especifica o arquivo de configuração diretamente da linha de comando.
-
Crie um arquivo de DSBulk configuração para a migração para o Amazon Keyspaces. Neste exemplo, usamos o nome do arquivo.
dsbulk_keyspaces.conf
Especifique as seguintes configurações no arquivo DSBulk de configuração.-
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 valorlocal-datacenter
para o Região da AWS ao 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 todos os disponíveis Regiões da AWS, consulte Endpoints de serviço para Amazon Keyspaces. Para evitar réplicas, definaslow-replica-avoidance
comofalse
. -
SSLEngineFactory
— Para configurarSSL/TLS, inicialize oSSLEngineFactory
adicionando uma seção no arquivo de configuração com uma única linha que especifica a classe com.class = 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 DSBulk
load
comando.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 do WCUs que você provisionou para a tabela de destino de destino. 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 DSBulk 1.6.0 ou superior, poderá usar
dsbulk.engine.maxConcurrentQueries
em vez disso.Configure esses parâmetros adicionais para o DSBulk
load
comando.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.