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á.
Para usar o Spark Cassandra Connector de código aberto com o Amazon Keyspaces, você precisa fornecer um arquivo de configuração do aplicativo que contenha as configurações necessárias para se conectar ao driver DataStax Java. Você pode usar as credenciais específicas do serviço ou o plug-in SigV4 para se conectar.
Se você ainda não tiver feito isso, você precisará converter o certificado digital Starfield em um arquivo trustStore. Você pode seguir as etapas detalhadas no tutorial de conexão do driver Java, Antes de começar. Anote o caminho e a senha do arquivo trustStore porque você precisará dessa informação ao criar o arquivo de configuração do aplicativo.
Conecte-se com autenticação SigV4
Esta seção mostra um arquivo de exemplo application.conf
que você pode usar ao se conectar com credenciais da AWS e com o plug-in SigV4. Se ainda não tiver feito isso, você precisa gerar suas chaves de acesso do IAM (um ID de chave de acesso e uma chave de acesso secreta) e salvá-las em seu arquivo de configuração da AWS ou como variáveis de ambiente. Para obter instruções detalhadas, consulte Credenciais exigidas pelo AWS CLI, pelo ou pelo AWS SDK plug-in SigV4 do Amazon Keyspaces para drivers de clientes do Cassandra.
No exemplo a seguir, substitua o caminho do arquivo trustStore e substitua a senha.
datastax-java-driver { basic.contact-points = ["cassandra.
us-east-1
.amazonaws.com:9142"] basic.load-balancing-policy { class = DefaultLoadBalancingPolicy local-datacenter =us-east-1
slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM } advanced { auth-provider = { class = software.aws.mcs.auth.SigV4AuthProvider aws-region =us-east-1
} ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "path_to_file
/cassandra_truststore.jks" truststore-password = "password
" hostname-validation=false } } advanced.connection.pool.local.size = 3 }
Atualize e salve esse arquivo de configuração como /home/user1/application.conf
. Os exemplos a seguir usam este caminho.
Conecte-se com credenciais específicas do serviço
Esta seção mostra um arquivo application.conf
de exemplo que você pode usar ao se conectar com credenciais específicas do serviço. Se você ainda não tiver feito isso, você precisará gerar credenciais específicas do serviço para Amazon Keyspaces. Para obter instruções detalhadas, consulte Crie credenciais específicas do serviço para acesso programático ao Amazon Keyspaces.
No exemplo a seguir, substitua username
e password
pelas suas próprias credenciais. Além disso, substitua o caminho do arquivo trustStore e substitua a senha.
datastax-java-driver { basic.contact-points = ["cassandra.
us-east-1
.amazonaws.com:9142"] basic.load-balancing-policy { class = DefaultLoadBalancingPolicy local-datacenter = us-east-1 } basic.request { consistency = LOCAL_QUORUM } advanced { auth-provider = { class = PlainTextAuthProvider username = "username
" password = "password
" aws-region = "us-east-1
" } ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "path_to_file
/cassandra_truststore.jks" truststore-password = "password
" hostname-validation=false } metadata = { schema { token-map.enabled = true } } } }
Atualize e salve esse arquivo de configuração /home/user1/application.conf
para usar com o exemplo de código.
Conecte-se com uma taxa fixa
Para forçar uma taxa fixa por executor do Spark, você pode definir um limitador de solicitações. Esse limitador de solicitações limita a taxa de solicitações por segundo. O Spark Cassandra Connector implanta uma sessão do Cassandra por executor. Usar a fórmula a seguir pode ajudá-lo a obter um throughput consistente em relação a uma tabela.
max-request-per-second * numberOfExecutors = total throughput against a table
Você pode adicionar esse exemplo ao arquivo de configuração do aplicativo que você criou anteriormente.
datastax-java-driver {
advanced.throttler {
class = RateLimitingRequestThrottler
max-requests-per-second = 3000
max-queue-size = 30000
drain-interval = 1 millisecond
}
}