Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Etapa 2: Configurar o Apache Cassandra Spark Connector

Modo de foco
Etapa 2: Configurar o Apache Cassandra Spark Connector - 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á.

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

O Apache Spark é uma plataforma de computação de uso geral que você pode configurar de diferentes maneiras. Para configurar o Spark e o Spark Cassandra Connector para integração com o Amazon Keyspaces, recomendamos que você comece com as configurações mínimas descritas na seção a seguir e depois aumente-as posteriormente, conforme apropriado para sua workload.

  • Crie tamanhos de partição do Spark menores que 8 MBs.

    No Spark, as partições representam um bloco atômico de dados que pode ser executado paralelamente. Quando você está gravando dados no Amazon Keyspaces com o Spark Cassandra Connector, quanto menor a partição do Spark, menor a quantidade de registros que a tarefa gravará. Se uma tarefa do Spark encontrar vários erros, ela falhará depois que o número designado de novas tentativas for esgotado. Para evitar a repetição de tarefas grandes e o reprocessamento de muitos dados, mantenha o tamanho da partição do Spark pequeno.

  • Use um número baixo de gravações simultâneas por executor com um grande número de novas tentativas.

    O Amazon Keyspaces retorna erros de capacidade insuficiente aos drivers do Cassandra como tempos limite de operação. Você não pode resolver os tempos limite causados pela capacidade insuficiente alterando a duração do tempo limite configurado porque o Spark Cassandra Connector tenta repetir as solicitações de forma transparente usando a MultipleRetryPolicy. Para garantir que as novas tentativas não sobrecarreguem o pool de conexões do driver, use um número baixo de gravações simultâneas por executor com um grande número de novas tentativas. O código snippet a seguir é um exemplo disso.

    spark.cassandra.query.retry.count = 500 spark.cassandra.output.concurrent.writes = 3
  • Divida o throughput total e distribua-o em várias sessões do Cassandra.

    • O Cassandra Spark Connector cria uma sessão para cada executor do Spark. Pense nessa sessão como a unidade de escala para determinar o throughput necessário e o número de conexões necessárias.

    • Ao definir o número de núcleos por executor e o número de núcleos por tarefa, comece baixo e aumente conforme necessário.

    • Defina as falhas de tarefas do Spark para permitir o processamento em caso de erros transitórios. Depois de se familiarizar com as características e os requisitos de tráfego do seu aplicativo, recomendamos definir um valor limitado para spark.task.maxFailures.

    • Por exemplo, a configuração a seguir pode lidar com duas tarefas simultâneas por executor, por sessão:

      spark.executor.instances = configurable -> number of executors for the session. spark.executor.cores = 2 -> Number of cores per executor. spark.task.cpus = 1 -> Number of cores per task. spark.task.maxFailures = -1
  • Desative o processamento em lotes.

    • Recomendamos que você desative o processamento em lotes para melhorar os padrões de acesso aleatório. O código snippet a seguir é um exemplo disso.

      spark.cassandra.output.batch.size.rows = 1 (Default = None) spark.cassandra.output.batch.grouping.key = none (Default = Partition) spark.cassandra.output.batch.grouping.buffer.size = 100 (Default = 1000)
  • Defina SPARK_LOCAL_DIRS como um disco local rápido com espaço suficiente.

    • Por padrão, o Spark salva os arquivos de saída do mapa e os conjuntos de dados distribuídos resilientes (RDDs) em uma pasta /tmp . Dependendo da configuração do seu host Spark, isso pode resultar em erros do estilo falta de espaço no dispositivo.

    • Para definir a variável de ambiente SPARK_LOCAL_DIRS para um diretório chamado /example/spark-dir, você pode usar o comando a seguir.

      export SPARK_LOCAL_DIRS=/example/spark-dir
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.