Introdução ao Apache Spark no Amazon Athena
Para começar a usar o Apache Spark no Amazon Athena, primeiro, você deve criar um grupo de trabalho habilitado para Spark. Depois de alternar para o grupo de trabalho, é possível criar um caderno ou abrir um caderno existente. Quando você abre um caderno no Athena, uma nova sessão é iniciada para ele automaticamente e você pode trabalhar com ele diretamente no editor de cadernos do Athena.
nota
Certifique-se de criar um grupo de trabalho habilitado para Spark antes de tentar criar um caderno.
Etapa 1: criar um grupo de trabalho habilitado para Spark no Athena
É possível usar grupos de trabalho no Athena para agrupar usuários, equipes, aplicações ou workloads, além de monitorar custos. Para usar o Apache Spark no Amazon Athena, crie um grupo de trabalho do Amazon Athena que usa um mecanismo Spark.
nota
Grupos de trabalho habilitados para o Apache Spark podem usar o editor de cadernos do Athena, mas não o editor de consultas do Athena. Somente os grupos de trabalho do Athena podem usar o editor de consultas do Athena.
Para criar um grupo de trabalho habilitado para Spark no Athena
-
Abra o console do Athena em https://console.aws.amazon.com/athena/
. Se o painel de navegação do console não estiver visível, escolha o menu de expansão à esquerda.
-
No painel de navegação, escolha Global networks (Redes globais).
-
Na página Workgroups (Grupos de trabalho), escolha Create workgroup (Criar grupo de trabalho).
-
Em Workgroup name (Nome do grupo de trabalho), insira um nome para seu grupo de trabalho do Apache Spark.
-
(Opcional) Em Description (Descrição), insira uma descrição para seu grupo de trabalho.
-
Em Analytics engine (Mecanismo de análise), escolha Apache Spark.
nota
Após a criação de um grupo de trabalho, o tipo de mecanismo de análise do grupo de trabalho não poderá ser alterado. Por exemplo, um grupo de trabalho que usa a versão 3 do mecanismo Athena não poderá ser alterado para um grupo de trabalho que usa a versão 3 do mecanismo PySpark.
-
Para fins deste tutorial, selecione Turn on example notebook (Ativar caderno de exemplo). Esse recurso opcional adiciona um caderno de exemplo com o nome
example-notebook-
ao seu grupo de trabalho e adiciona permissões relacionadas ao AWS Glue que o caderno usa para criar, apresentar e excluir tabelas e bancos de dados específicos em sua conta, além de permissões de leitura no Amazon S3 para o conjunto de dados de amostra. Para visualizar as permissões adicionadas, escolha View additional permissions details (Apresentar detalhes adicionais das permissões).random_string
nota
A execução do caderno de exemplo poderá gerar custos adicionais.
-
Em Configurações de resultados de cálculos, escolha entre as seguintes opções:
-
Create a new S3 bucket (Criar um novo bucket do S3): essa opção cria um bucket do Amazon S3 em sua conta para os resultados dos cálculos. O nome do bucket tem o formato
e usa as configurações ACLs desabilitadas, o acesso público bloqueado, o controle de versionamento desabilitado e o proprietário do depósito aplicado.account_id
-region
-athena-results-bucket-alphanumeric_id
-
Choose an existing S3 location (Escolher um local existente do S3): para essa opção, faça o seguinte:
-
Insira o caminho no S3 para um local existente na caixa de pesquisa ou escolha Browse S3 (Procurar no S3) para escolher um bucket em uma lista.
nota
Ao selecionar um local existente no Amazon S3, não acrescente uma barra (
/
) ao local. Isso faz com que o link para o local dos resultados dos cálculos na página de detalhes dos cálculo direcione para o diretório incorreto. Se isso ocorrer, edite o local dos resultados do grupo de trabalho para remover a barra ao final. -
(Opcional) Escolha View (Visualizar) para abrir a página Buckets do console do Amazon S3, na qual você pode visualizar mais informações sobre o bucket existente escolhido.
-
(Opcional) Em Expected bucket owner (Proprietário esperado do bucket), insira o ID da conta da AWS de quem você espera que seja o proprietário do bucket do local de saída dos resultados da consulta. Recomendamos que você escolha essa opção, como uma medida de segurança adicional, sempre que possível. Se o ID da conta do proprietário do bucket não corresponder ao ID especificado, as tentativas de saída para o bucket falharão. Para obter informações detalhadas, consulte Verificar propriedade do bucket com a condição de proprietário do bucket no Guia do usuário do Amazon S3.
-
(Opcional) Selecione Assign bucket owner full control over query results (Atribuir controle total ao proprietário do bucket sobre os resultados da consulta) se o local para os resultados dos cálculos pertencer a outra conta e você desejar conceder controle total sobre os resultados da consulta à outra conta.
-
-
-
(Opcional) Escolha Criptografar resultados de consultas se quiser que os resultados das consultas sejam criptografados.
-
Em Tipo de criptografia, escolha uma das seguintes opções:
-
SSE_S3: essa opção usa criptografia do lado do servidor (SSE) com chaves gerenciadas pelo Amazon S3.
-
SSE_KMS: essa opção usa criptografia do lado do servidor (SSE) com chaves gerenciadas pelo AWS KMS.
Em Escolher uma chave do AWS KMS, escolha uma das seguintes opções.
-
Usar chave pertencente à AWS: a chave do AWS KMS pertence e é gerenciada pela AWS. Não há custo adicional para usar essa chave.
-
Escolher outra chave do AWS KMS (avançada): nessa opção, faça uma das seguintes alternativas:
-
Para usar uma chave existente, use a caixa de pesquisa para escolher um AWS KMS ou insira um ARN de chave.
-
Para criar uma chave no console do AWS KMS, escolha Criar uma chave do AWS KMS. Seu perfil de execução deve ter permissões para usar a chave que você criar. Após terminar a criação da chave no console do KMS, retorne à página Criar grupo de trabalho no console do Athena e use a caixa de pesquisa Escolher uma chave do AWS KMS ou inserir um ARN para escolher a chave que você acabou de criar.
-
-
Importante
Quando você altera a AWS KMS key para um grupo de trabalho, os cadernos gerenciados antes da atualização ainda fazem referência à antiga chave do KMS. Os cadernos gerenciados após a atualização usarão a nova chave do KMS. Para atualizar os cadernos antigos para fazer referência à nova chave do KMS, exporte e importe cada um dos cadernos antigos. Se você excluir a antiga chave do KMS antes de atualizar as referências dos cadernos antigos para a nova chave do KMS, os cadernos antigos não poderão mais ser descriptografados e não poderão ser recuperados.
Esse comportamento também se aplica a atualizações de aliases, que são nomes amigáveis para chaves do KMS. Quando você atualiza um alias de chave do KMS para direcionar para uma nova chave do KMS, os cadernos gerenciados antes da atualização do alias ainda fazem referência à antiga chave do KMS e os cadernos gerenciados após a atualização do alias usam a nova chave do KMS. Considere esses pontos antes de atualizar suas chaves ou aliases do KMS.
-
-
-
Em Configurações adicionais, escolha Usar padrões. Essa opção ajuda você a começar a usar o grupo de trabalho habilitado para Spark. Quando você usa padrões, o Athena cria um perfil do IAM e um local para os resultados de cálculos no Amazon S3 para você. O nome do perfil do IAM e o local do bucket S3 a serem criados são exibidos na caixa abaixo do cabeçalho Additional configurations (Configurações adicionais).
Se não quiser usar os padrões, prossiga com as etapas da seção (Opcional) Especificar suas próprias configurações de grupo de trabalho para configurar o grupo de trabalho manualmente.
-
(Opcional) Tags (Etiquetas): use essa opção para adicionar etiquetas ao seu grupo de trabalho. Para ter mais informações, consulte Marcar recursos do Athena com tags.
-
Escolha Create workgroup (Criar grupo de trabalho). Uma mensagem informará que o grupo de trabalho foi criado com êxito e o grupo de trabalho aparecerá na lista de grupos de trabalho.
(Opcional) Especificar suas próprias configurações de grupo de trabalho
Se você deseja especificar o próprio perfil do IAM e o local para os resultados dos cálculos para seu caderno, siga as etapas nesta seção. Se você escolheu Use defaults (Usar padrões) para a opção Additional configurations (Configurações adicionais), ignore esta seção e vá diretamente para Etapa 2: abrir o explorador de cadernos e alternar entre grupos de trabalho .
O procedimento a seguir pressupõe que você concluiu as etapas 1 a 9 do procedimento Para criar um grupo de trabalho habilitado para Spark no Athena na seção anterior.
Para especificar suas próprias configurações de grupo de trabalho
-
Se você deseja criar ou usar o próprio perfil do IAM, ou configurar a criptografia de caderno, expanda IAM role configuration (Configuração do perfil do IAM).
-
Em Perfil de serviço, escolha uma das seguintes opções:
-
Criar um novo perfil de serviço: escolha essa opção para que o Athena crie um perfil de serviço para você. Para visualizar as permissões concedidas pelo perfil, selecione View permission details (Exibir detalhes da permissão).
-
Usar um perfil de serviço existente: no menu suspenso, escolha um perfil existente. O perfil que você escolher deve incluir as permissões na primeira opção. Para obter mais informações sobre permissões para grupos de trabalho habilitados para cadernos, consulte Solucionar problemas de grupos de trabalho habilitados para Spark.
-
-
Em Notebook and calculation code encryption key management (Gerenciamento de chave de criptografia para códigos de cálculo e cadernos), escolha uma das opções a seguir:
-
Criptografar usando chave pertencente à AWS (padrão): a chave do AWS KMS pertence e é gerenciada pela AWS. Não há custo adicional para usar essa chave.
-
Criptografar usando sua própria chave do AWS KMS: para essa opção, faça uma das seguintes alternativas:
-
Para usar uma chave existente, use a caixa de pesquisa para escolher um AWS KMS ou insira um ARN de chave.
-
Para criar uma chave no console do AWS KMS, escolha Criar uma chave do AWS KMS. Seu perfil de execução deve ter permissões para usar a chave que você criar. Após terminar a criação da chave no console do KMS, retorne à página Criar grupo de trabalho no console do Athena e use a caixa de pesquisa Escolher uma chave do AWS KMS ou inserir um ARN para escolher a chave que você acabou de criar.
-
Importante
Quando você altera a AWS KMS key para um grupo de trabalho, os cadernos gerenciados antes da atualização ainda fazem referência à antiga chave do KMS. Os cadernos gerenciados após a atualização usarão a nova chave do KMS. Para atualizar os cadernos antigos para fazer referência à nova chave do KMS, exporte e importe cada um dos cadernos antigos. Se você excluir a antiga chave do KMS antes de atualizar as referências dos cadernos antigos para a nova chave do KMS, os cadernos antigos não poderão mais ser descriptografados e não poderão ser recuperados.
Esse comportamento também se aplica a atualizações de aliases, que são nomes amigáveis para chaves do KMS. Quando você atualiza um alias de chave do KMS para direcionar para uma nova chave do KMS, os cadernos gerenciados antes da atualização do alias ainda fazem referência à antiga chave do KMS e os cadernos gerenciados após a atualização do alias usam a nova chave do KMS. Considere esses pontos antes de atualizar suas chaves ou aliases do KMS.
-
-
-
(Opcional) Other settings (Outras configurações): expanda essa opção para habilitar ou desabilitar a opção Publish CloudWatch metrics (Publicar métricas do CloudWatch) para o grupo de trabalho. Esse campo é selecionado por padrão. Para ter mais informações, consulte Monitorar os cálculos do Apache Spark com as métricas do CloudWatch.
-
(Opcional) Tags (Etiquetas): use essa opção para adicionar etiquetas ao seu grupo de trabalho. Para ter mais informações, consulte Marcar recursos do Athena com tags.
-
Escolha Create workgroup (Criar grupo de trabalho). Uma mensagem informará que o grupo de trabalho foi criado com êxito e o grupo de trabalho aparecerá na lista de grupos de trabalho.
Etapa 2: abrir o explorador de cadernos e alternar entre grupos de trabalho
Antes de poder usar o grupo de trabalho habilitado para Spark que acabou de criar, você deve alternar para o grupo de trabalho. Para alternar os grupos de trabalho habilitados para Spark, você pode usar a opção Workgroup (Grupo de trabalho) no explorador de cadernos ou no editor de cadernos.
nota
Antes de começar, verifique se o navegador não bloqueia cookies de terceiros. Qualquer navegador que bloqueie cookies de terceiros por padrão ou graças a uma configuração habilitada pelo usuário impedirá a inicialização dos cadernos. Para mais informações sobre o gerenciamento de cookies, consulte:
Para abrir o explorador de cadernos e alternar grupos de trabalho
-
No painel de navegação, escolha Notebook explorer (Explorador de cadernos).
-
Use a opção Workgroup (Grupo de trabalho) no canto superior direito do console para escolher o grupo de trabalho habilitado para Spark que você criou. O caderno de exemplo é mostrado na lista de cadernos.
É possível usar o explorador de cadernos das seguintes maneiras:
-
Escolha o nome vinculado de um caderno para abrí-lo em uma nova sessão.
-
Para renomear, excluir ou exportar seu caderno, use o menu Actions (Ações).
-
Para importar um arquivo do caderno, escolha Import file (Importar arquivo).
-
Para criar um caderno, escolha Create notebook (Criar caderno).
-
Etapa 3: executar o exemplo de caderno
O caderno de amostra consulta dados de um conjunto de dados de uma viagem de táxi da cidade de Nova York disponível publicamente. O caderno tem exemplos que mostram como trabalhar com o Spark DataFrames, o Spark SQL e o AWS Glue Data Catalog.
Para executar o caderno de exemplo
-
No explorador de cadernos, escolha o nome vinculado ao caderno de exemplo.
Isso inicia uma sessão do caderno com os parâmetros padrões e abre o caderno no editor de cadernos. Uma mensagem informará que uma nova sessão do Apache Spark foi iniciada usando os parâmetros padrões (máximo de 20 DPUs).
-
Para executar as células em ordem e observar os resultados, escolha o botão Run (Executar) uma vez para cada célula do caderno.
-
Role para baixo para visualizar os resultados e exibir novas células.
-
Para as células que têm cálculos, uma barra de progresso mostra a porcentagem concluída, o tempo decorrido e o tempo restante.
-
O caderno de exemplo cria um banco de dados e uma tabela de amostra em sua conta. A célula final os remove como uma etapa de limpeza.
-
nota
Se você alterar os nomes de pastas, tabelas ou bancos de dados no caderno de exemplo, certifique-se de que essas alterações sejam refletidas nos perfis do IAM usados. Caso contrário, o caderno poderá apresentar falhas devido a permissões insuficientes.
Etapa 4: editar detalhes de sessões
Depois de iniciar uma sessão de caderno, é possível editar os detalhes da sessão, como formato de tabela, criptografia, tempo limite de inatividade da sessão e o número máximo simultâneo de unidades de processamento de dados (DPUs) que deseja usar. Uma DPU é uma medida relativa do poder de processamento que consiste em uma capacidade computacional de 4 vCPUs e 16 GB de memória.
Para editar os detalhes da sessão
-
No editor de cadernos, no menu Session (Sessão) no canto superior direito, escolha Edit session (Editar sessão).
-
Na caixa de diálogo Editar detalhes da sessão, na seção Propriedades do Spark, escolha ou insira valores para as seguintes opções:
-
Formato de tabela adicional: escolha Linux Foundation Delta Lake, Apache Hudi, Apache Iceberg ou Personalizado.
-
Para as opções de tabela Delta, Hudi ou Iceberg, as propriedades de tabela necessárias para o formato de tabela correspondente são fornecidas automaticamente nas opções Editar na tabela e Editar em JSON. Para obter mais informações sobre como usar esses formatos de tabela, consulte Usar formatos de tabela não Hive no Athena para Spark.
-
Para adicionar ou remover propriedades de tabela para Personalizada ou outros tipos de tabela, use as opções Editar na tabela e Editar em JSON.
-
Para a opção Editar na tabela, escolha Adicionar propriedade para adicionar uma propriedade ou Remover para remover uma propriedade. Para inserir os nomes das propriedades e os respectivos valores, use as caixas Chave e Valor.
-
Na opção Editar em JSON, use o editor de texto JSON para editar a configuração diretamente.
-
Para copiar o texto JSON para a área de transferência, escolha Copiar.
-
Para remover todo o texto do editor JSON, escolha Limpar.
-
Para configurar a quebra de linha ou escolher um tema de cores para o editor JSON, escolha o ícone de configurações (engrenagem).
-
-
-
Ativar a criptografia do Spark: selecione esta opção para criptografar dados gravados em disco e enviados pelos nós de rede do Spark. Para ter mais informações, consulte Habilitar a criptografia do Apache Spark.
-
-
Na seção Parâmetros da sessão, escolha ou insira valores para as seguintes opções:
-
Session idle timeout (Tempo limite de inatividade da sessão): escolha ou insira um valor entre 1 e 480 minutos. O padrão é 20.
-
Coordinator size (Tamanho do coordenador): um coordenador corresponde a um executor especial que realiza a orquestração do trabalho de processamento e gerencia outros executores em uma sessão do caderno. Atualmente, 1 DPU é o valor padrão e o único possível.
-
Executor size (Tamanho do executor): um executor corresponde a menor unidade de computação que uma sessão do caderno pode solicitar do Athena. Atualmente, 1 DPU é o valor padrão e o único possível.
-
Max concurrent value (Valor simultâneo máximo): o número máximo de DPUs que podem ser executadas simultaneamente. O padrão é 20, o mínimo é 3 e o máximo é 60. Aumentar esse valor não alocará recursos adicionais automaticamente, mas o Athena tentará alocar até o máximo especificado quando a carga computacional exigir e quando os recursos estiverem disponíveis.
-
-
Escolha Salvar.
-
Na solicitação Confirm edit (Confirmar edição), escolha Confirm (Confirmar).
O Athena salva seu caderno e inicia uma nova sessão com os parâmetros que você especificou. Uma barra de notificação no editor do caderno informará que uma nova sessão foi iniciada com os parâmetros modificados.
nota
O Athena lembrará suas configurações de sessão para o caderno. Se você editar os parâmetros de uma sessão e, em seguida, encerrá-la, o Athena usará os parâmetros de sessão que você configurou na próxima vez que iniciar uma sessão para o caderno.
Etapa 5: visualizar detalhes de sessões e cálculos
Após executar o caderno, você poderá visualizar os detalhes da sessão e dos cálculos.
Para visualizar detalhes da sessão e dos cálculos
-
No menu Session (Sessão) no canto superior direito, escolha View details (Exibir detalhes).
-
A guia Current session (Sessão atual) apresenta informações sobre a sessão atual, incluindo o ID da sessão, o horário de criação, o status e o grupo de trabalho.
-
A guia History (Histórico) lista os IDs das sessões anteriores. Para visualizar os detalhes de uma sessão anterior, escolha a guia History (Histórico) e, em seguida, escolha um ID de sessão na lista.
-
A seção Calculations (Cálculos) apresenta uma lista dos cálculos executados na sessão.
-
-
Para visualizar os detalhes de um cálculo, escolha o ID do cálculo.
-
Na página Calculation details (Detalhes do cálculo), você pode fazer o seguinte:
-
Para visualizar o código para o cálculo, consulte a seção Code (Código).
-
Para visualizar os resultados do cálculo, selecione a guia Results (Resultados).
-
Para baixar dos resultados que você visualiza em formato de texto, escolha Download results (Fazer download dos resultados).
-
Para visualizar informações sobre os resultados dos cálculos no Amazon S3, escolha View in S3 (Visualizar no S3).
-
Etapa 6: encerrar a sessão
Para encerrar uma sessão de caderno
-
No editor de cadernos, no menu Session (Sessão) no canto superior direito, escolha Terminate (Encerrar).
-
Na solicitação Confirm session termination (Confirmar encerramento da sessão), escolha Confirm (Confirmar). Seu caderno será salvo e você retornará ao editor de cadernos.
nota
Fechar uma guia do caderno no editor de cadernos não encerrará por si só a sessão de um caderno ativo. Se você deseja garantir que a sessão seja encerrada, use a opção Terminate (Encerrar) em Session (Sessão).
Etapa 7: criar seu próprio caderno
Após a criação de um grupo de trabalho do Athena habilitado para Spark, é possível criar seu próprio caderno.
Para criar um caderno
-
Se o painel de navegação do console não estiver visível, escolha o menu de expansão à esquerda.
-
No painel de navegação do console do Athena, escolha Notebook explorer (Explorador de cadernos) ou Notebook editor (Editor de cadernos).
-
Execute um destes procedimentos:
-
No Notebook explorer (Explorador de cadernos), escolha Create notebook (Criar caderno).
-
No Notebook editor (Editor de cadernos), escolha Create notebook (Criar caderno) ou selecione o ícone de adição (+) para adicionar um caderno.
-
-
Na caixa de diálogo Create notebook (Criar caderno), em Notebook name (Nome do caderno), insira um nome.
-
(Opcional) Expanda Propriedades do Spark e escolha ou insira valores para as seguintes opções:
-
Formato de tabela adicional: escolha Linux Foundation Delta Lake, Apache Hudi, Apache Iceberg ou Personalizado.
-
Para as opções de tabela Delta, Hudi ou Iceberg, as propriedades de tabela necessárias para o formato de tabela correspondente são fornecidas automaticamente nas opções Editar na tabela e Editar em JSON. Para obter mais informações sobre como usar esses formatos de tabela, consulte Usar formatos de tabela não Hive no Athena para Spark.
-
Para adicionar ou remover propriedades de tabela para Personalizada ou outros tipos de tabela, use as opções Editar na tabela e Editar em JSON.
-
Para a opção Editar na tabela, escolha Adicionar propriedade para adicionar uma propriedade ou Remover para remover uma propriedade. Para inserir os nomes das propriedades e os respectivos valores, use as caixas Chave e Valor.
-
Na opção Editar em JSON, use o editor de texto JSON para editar a configuração diretamente.
-
Para copiar o texto JSON para a área de transferência, escolha Copiar.
-
Para remover todo o texto do editor JSON, escolha Limpar.
-
Para configurar a quebra de linha ou escolher um tema de cores para o editor JSON, escolha o ícone de configurações (engrenagem).
-
-
-
Ativar a criptografia do Spark: selecione esta opção para criptografar dados gravados em disco e enviados pelos nós de rede do Spark. Para ter mais informações, consulte Habilitar a criptografia do Apache Spark.
-
-
(Opcional) Expanda Session parameters (Parâmetros da sessão) e, em seguida, escolha ou insira valores para as opções a seguir:
-
Session idle timeout (Tempo limite de inatividade da sessão): escolha ou insira um valor entre 1 e 480 minutos. O padrão é 20.
-
Coordinator size (Tamanho do coordenador): um coordenador corresponde a um executor especial que realiza a orquestração do trabalho de processamento e gerencia outros executores em uma sessão do caderno. Atualmente, 1 DPU é o valor padrão e o único possível. Uma DPU (unidade de processamento de dados) corresponde a uma medida relativa de poder de processamento que consiste em 4 vCPUs de capacidade computacional e 16 GB de memória.
-
Executor size (Tamanho do executor): um executor corresponde a menor unidade de computação que uma sessão do caderno pode solicitar do Athena. Atualmente, 1 DPU é o valor padrão e o único possível.
-
Max concurrent value (Valor simultâneo máximo): o número máximo de DPUs que podem ser executadas simultaneamente. O padrão é 20 e o máximo é 60. Aumentar esse valor não alocará recursos adicionais automaticamente, mas o Athena tentará alocar até o máximo especificado quando a carga computacional exigir e quando os recursos estiverem disponíveis.
-
-
Escolha Criar. Seu caderno será aberto em uma nova sessão no editor de cadernos.
Para obter mais informações sobre gerenciamento de arquivos de cadernos, consulte Gerenciar arquivos de cadernos.