Usar as propriedades do Spark para especificar uma configuração personalizada
Ao criar ou editar uma sessão no Amazon Athena para Apache Spark, você pode usar as propriedades do Spark.jar, pacotes ou outra configuração personalizada para a sessão. Para especificar propriedades do Spark, use o console do Athena, a AWS CLI ou a API do Athena.
Usar o console do Athena para especificar as propriedades do Spark
No console do Athena, é possível especificar as propriedades do Spark ao criar um caderno ou editar uma sessão atual.
Para adicionar propriedades na caixa de diálogo Criar caderno ou Editar detalhes da sessão
-
Expanda as propriedades do Spark.
-
Para adicionar propriedades, use a opção Editar na tabela ou Editar em JSON.
-
Para a opção Editar na tabela, escolha Adicionar propriedade para adicionar uma propriedade, ou escolha Remover para remover uma propriedade. Use as caixas Chave e Valor para inserir os nomes das propriedades e os respectivos valores.
-
Para adicionar um arquivo
.jarpersonalizado, use a propriedadespark.jars. -
Para especificar um arquivo de pacote, especifique a propriedade
spark.jars.packages.
-
-
Para inserir e editar sua configuração diretamente, escolha a opção Editar em JSON. No editor de texto JSON, você pode executar as seguintes tarefas:
-
Escolha Copiar para copiar o texto JSON para a área de transferência.
-
Escolha Limpar para remover todo o texto do editor JSON.
-
Escolha o ícone de configurações (engrenagem) para configurar a quebra de linha ou escolha um tema de cores para o editor JSON.
-
-
Observações
-
É possível definir propriedades no Athena para Spark, que é o mesmo que definir as propriedades do Spark
diretamente em um objeto SparkConf . -
Inicie todas as propriedades do Spark com o prefixo
spark.. As propriedades com outros prefixos são ignoradas. -
Nem todas as propriedades do Spark estão disponíveis para configuração personalizada no Athena. Se você enviar uma solicitação
StartSessioncom uma configuração restrita, a sessão não será iniciada.-
Não é possível usar o prefixo
spark.athena.porque ele é reservado.
-
Usar a AWS CLI ou a API do Athena para fornecer uma configuração personalizada
Para usar a AWS CLI ou a API do Athena para fornecer sua configuração de sessão, use a ação de API StartSession ou o comando start-sessionStartSession, use o campo SparkProperties do objeto EngineConfiguration para passar suas informações de configuração no formato JSON. Isso iniciará uma sessão com a configuração especificada.
Para especificar propriedades personalizadas do Spark na AWS CLI, use a configuração engine-configuration ao iniciar uma sessão interativa.
aws athena start-session \ --region "REGION" --work-group "WORKGROUP" \ --engine-configuration '{ "Classifications": [{ "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } }] }'
Você também pode especificar padrões de configuração no nível do grupo de trabalho usando a ação da API CreateWorkgroup ou a ação da API UpdateWorkgroup. Os padrões de configuração definidos no grupo de trabalho se aplicam a todas as sessões iniciadas para esse grupo de trabalho.
Para especificar as propriedades padrão do Spark na AWS CLI para um grupo de trabalho, use a configuração engine-configuration ao criar um novo grupo de trabalho:
aws athena create-work-group \ --region "REGION" \ --name "WORKGROUP_NAME" \ --configuration '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'
Para modificar as propriedades padrão do Spark na AWS CLI para um grupo de trabalho, use a configuração engine-configuration ao atualizar um grupo de trabalho. As mudanças se aplicam às novas sessões interativas daqui em diante.
aws athena update-work-group \ --region "REGION" \ --work-group "WORKGROUP_NAME" \ --configuration-updates '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "12", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'