Etapa 4: definir DSBulk as configurações para carregar dados do CSV arquivo para a tabela de destino - Amazon Keyspaces (para Apache Cassandra)

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.

  1. 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.

    1. PlainTextAuthProvider: crie o provedor de autenticação com a classe PlainTextAuthProvider. ServiceUserName e ServicePassword 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 .

    2. local-datacenter— Defina o valor local-datacenter para o Região da AWS ao qual você está se conectando. Por exemplo, se o aplicativo estiver se conectando a cassandra.us-east-2.amazonaws.com, defina o datacenter local como us-east-2. Para todos os disponíveis Regiões da AWS, consulte Endpoints de serviço para Amazon Keyspaces. Para evitar réplicas, defina slow-replica-avoidance como false.

    3. SSLEngineFactory— Para configurarSSL/TLS, inicialize o SSLEngineFactory adicionando uma seção no arquivo de configuração com uma única linha que especifica a classe com. class = DefaultSslEngineFactory Forneça o caminho para cassandra_truststore.jks e a senha que você criou anteriormente.

    4. consistency: defina o nível de consistência como LOCAL 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.

    5. 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 }
  2. Revise os parâmetros do DSBulk load comando.

    1. 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. O executor.maxPerSecond do comando load 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, defina executor.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.

    2. 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.