Amazona atena é um serviço de consulta interativo que facilita a análise de dados em Serviço de armazenamento simples da Amazon (Amazon S3) e fontes de dados que residem na AWS, no local ou em outros sistemas de nuvem usando SQL ou Python. Athena é construído em motores Trino e Presto de código aberto e estruturas Apache Spark, sem necessidade de provisionamento ou esforço de configuração. O Athena não tem servidor, portanto, não há infraestrutura para gerenciar e você paga apenas pelas consultas executadas.
Iceberg Apache é um formato de tabela aberta para conjuntos de dados analíticos muito grandes. Ele gerencia grandes coleções de arquivos como tabelas e oferece suporte a operações analíticas modernas de data lake, como consultas de inserção, atualização, exclusão e viagem no tempo em nível de registro. O Athena oferece suporte a consultas de leitura, viagem no tempo, gravação e DDL para tabelas Apache Iceberg que usam o formato Apache Parquet para dados e o Catálogo de dados do AWS Glue para seu metastore.
Engenharia de recursos é um processo de identificação e transformação de dados brutos (imagens, arquivos de texto, vídeos e assim por diante), preenchimento de dados ausentes e adição de um ou mais elementos de dados significativos para fornecer contexto para que um modelo de aprendizado de máquina (ML) possa aprender com eles. A rotulagem de dados é necessária para vários casos de uso, incluindo previsão, visão computacional, processamento de linguagem natural e reconhecimento de fala.
Combinado com os recursos do Athena, o Apache Iceberg oferece um fluxo de trabalho simplificado para que os cientistas de dados criem novos recursos de dados sem a necessidade de copiar ou recriar todo o conjunto de dados. Você pode criar recursos usando SQL padrão no Athena sem usar nenhum outro serviço para engenharia de recursos. Os cientistas de dados podem reduzir o tempo gasto preparando e copiando conjuntos de dados e, em vez disso, se concentrar na engenharia de recursos de dados, experimentação e análise de dados em escala.
Nesta postagem, revisamos os benefícios de usar o Athena com o formato de tabela aberta Apache Iceberg e como ele simplifica tarefas comuns de engenharia de recursos para cientistas de dados. Demonstramos como o Athena pode converter uma tabela existente no formato Apache Iceberg, adicionar colunas, excluir colunas e modificar os dados na tabela sem recriar ou copiar o conjunto de dados e usar esses recursos para criar novos recursos nas tabelas do Apache Iceberg.
Visão geral da solução
Os cientistas de dados geralmente estão acostumados a trabalhar com grandes conjuntos de dados. Os conjuntos de dados geralmente são armazenados em JSON, CSV, ORC ou Parquet Apache formato ou formatos otimizados de leitura semelhantes para desempenho de leitura rápida. Os cientistas de dados geralmente criam novos recursos de dados e preenchem esses recursos de dados com dados agregados e auxiliares. Historicamente, essa tarefa era realizada criando uma visualização no topo da tabela com os dados subjacentes no formato Apache Parquet, onde essas colunas e dados eram adicionados em tempo de execução ou criando uma nova tabela com colunas adicionais. Embora esse fluxo de trabalho seja adequado para muitos casos de uso, é ineficiente para grandes conjuntos de dados, porque os dados precisariam ser gerados em tempo de execução ou os conjuntos de dados precisariam ser copiados e transformados.
Atena introduziu Transação ACID (Atomicidade, Consistência, Isolamento, Durabilidade) recursos que adicionam INSERT, UPDATE, DELETE, MERGE e operações de viagem no tempo construídas em Tabelas do Apache Iceberg. Esses recursos permitem que os cientistas de dados criem novos recursos de dados e descartem recursos de dados existentes em conjuntos de dados existentes sem se preocupar em copiar ou transformar o conjunto de dados ou abstraí-lo com uma exibição. Os cientistas de dados podem se concentrar no trabalho de engenharia de recursos e evitar copiar e transformar os conjuntos de dados.
A operação UPDATE do Athena Iceberg grava arquivos de exclusão de posição do Apache Iceberg e linhas recém-atualizadas como arquivos de dados na mesma transação. Você pode fazer correções de registro por meio de uma única instrução UPDATE.
Com o lançamento da versão 3 do mecanismo Athena, os recursos das tabelas Apache Iceberg foram aprimorados com o suporte para operações como CRIAR TABELA COMO SELECT (CTAS) e comandos MERGE que agilizam o gerenciamento do ciclo de vida de seus dados Iceberg. O CTAS torna rápido e eficiente a criação de tabelas de outros formatos, como Apache Paquet e MERGE EM atualizações condicionais, apaga ou insere linhas em uma tabela Iceberg. Uma única instrução pode combinar ações de atualização, exclusão e inserção.
Pré-requisitos
Configure um grupo de trabalho Athena com o mecanismo Athena versão 3 para usar os comandos CTAS e MERGE com uma tabela Apache Iceberg. Para atualizar seu mecanismo Athena existente para a versão 3 em seu grupo de trabalho Athena, siga as instruções em Atualize para a versão 3 do mecanismo Athena para aumentar o desempenho das consultas e acessar mais recursos de análise ou consulte Alterar a versão do mecanismo no console do Athena.
Conjunto de dados
Para demonstração, usamos uma tabela Apache Parquet que contém vários milhões de registros de dados de vendas fictícios distribuídos aleatoriamente dos últimos anos armazenados em um depósito S3. Baixar o conjunto de dados, descompacte-o em seu computador local e carregue-o em seu bucket S3. Nesta postagem, carregamos nosso conjunto de dados para s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
.
A tabela a seguir mostra o layout da tabela customer_orders
.
Nome da coluna | Tipo de dados | Descrição |
chave de pedido | corda | Número do pedido para o pedido |
chave de custódia | corda | Número de identificação do cliente |
status do pedido | corda | Estado do pedido |
preço total | corda | Preço total do pedido |
data do pedido | corda | Data do pedido |
ordem prioritária | corda | Prioridade do pedido |
balconista | corda | Nome do funcionário que processou o pedido |
prioridade de embarque | corda | Prioridade no envio |
nome | corda | Nome do cliente |
endereço | corda | Endereço do cliente |
chave de nação | corda | Chave da nação do cliente |
telefone | corda | Número de telefone do cliente |
accbal | corda | Saldo da conta do cliente |
segmento mkt | corda | Segmento de mercado do cliente |
Executar engenharia de recursos
Como cientista de dados, queremos realizar engenharia de recursos nos dados de pedidos do cliente adicionando compras totais calculadas de um ano e compras médias de um ano para cada cliente no conjunto de dados existente. Para fins de demonstração, criamos o customer_orders
mesa no sampledb
banco de dados usando o Athena, conforme mostrado no comando DDL a seguir. (Você pode usar qualquer um dos conjuntos de dados existentes e seguir as etapas mencionadas nesta postagem.) customer_orders
conjunto de dados foi gerado e armazenado no local do bucket S3 s3://sample-iceberg-datasets-xxxxxxxxxxx/sampledb/orders_and_customers/
em formato Parquet. Esta tabela não é uma tabela Apache Iceberg.
Valide os dados na tabela executando uma consulta:
Queremos adicionar novos recursos a esta tabela para obter uma compreensão mais profunda das vendas do cliente, o que pode resultar em um treinamento de modelo mais rápido e insights mais valiosos. Para adicionar novos recursos ao conjunto de dados, converta o customer_orders
Mesa Athena para mesa Apache Iceberg no Athena. Um problema CTAS instrução de consulta para criar uma nova tabela com o formato Apache Iceberg a partir do customer_orders
mesa. Ao fazer isso, um novo recurso é adicionado para obter o valor total da compra no ano anterior (ano máximo do conjunto de dados) de cada cliente.
Na consulta CTAS a seguir, uma nova coluna chamada one_year_sales_aggregate
com o valor padrão como 0.0
do tipo de dados double
é adicionado e table_type
está definido para ICEBERG
:
Emita a seguinte consulta para verificar os dados na tabela Apache Iceberg com a nova coluna one_year_sales_aggregate
valores como 0.0
:
Queremos preencher os valores para o novo recurso one_year_sales_aggregate
no conjunto de dados para obter o valor total da compra para cada cliente com base em suas compras no ano passado (ano máximo do conjunto de dados). Emita uma instrução de consulta MERGE para a tabela Apache Iceberg usando o Athena para preencher os valores para o one_year_sales_aggregate
recurso:
Emita a seguinte consulta para validar o valor atualizado do gasto total de cada cliente no ano anterior:
Decidimos adicionar outro recurso a uma tabela existente do Apache Iceberg para calcular e armazenar o valor médio de compra de cada cliente no ano anterior. Emita uma instrução de consulta ALTER para adicionar uma nova coluna a uma tabela existente para recurso one_year_sales_average
:
Antes de preencher os valores para este novo recurso, você pode definir o valor padrão para o recurso one_year_sales_average
para 0.0
. Usando a mesma tabela do Apache Iceberg no Athena, emita uma instrução de consulta UPDATE para preencher o valor do novo recurso como 0.0
:
Emita a seguinte consulta para verificar se o valor atualizado para o gasto médio de cada cliente no ano anterior está definido como 0.0
:
Agora queremos preencher os valores para o novo recurso one_year_sales_average
no conjunto de dados para obter o valor médio de compra de cada cliente com base em suas compras no ano anterior (ano máximo do conjunto de dados). Emita uma instrução de consulta MERGE para a tabela Apache Iceberg existente no Athena usando o mecanismo Athena para preencher valores para o recurso one_year_sales_average
:
Emita a seguinte consulta para verificar os valores atualizados para o gasto médio de cada cliente:
Depois que recursos de dados adicionais são adicionados ao conjunto de dados, os cientistas de dados geralmente procedem ao treinamento de modelos de ML e fazem inferências usando o Amazon Sagemaker ou um conjunto de ferramentas equivalente.
Conclusão
Nesta postagem, demonstramos como executar a engenharia de recursos usando o Athena com o Apache Iceberg. Também demonstramos o uso da consulta CTAS para criar uma tabela Apache Iceberg no Athena a partir de um conjunto de dados existente no formato Apache Parquet, adicionando novos recursos em uma tabela Apache Iceberg existente no Athena usando a consulta ALTER e usando instruções de consulta UPDATE e MERGE para atualizar o valores de recurso de colunas existentes.
Incentivamos você a usar consultas CTAS para criar tabelas de forma rápida e eficiente e usar a instrução de consulta MERGE para sincronizar tabelas em uma etapa para simplificar as preparações de dados e atualizar tarefas ao transformar os recursos usando Athena com Apache Iceberg. Se você tiver comentários ou feedback, por favor, deixe-os na seção de comentários.
Sobre os autores
Vivek Gautama é arquiteto de dados com especialização em data lakes na AWS Professional Services. Ele trabalha com clientes corporativos criando produtos de dados, plataformas analíticas e soluções na AWS. Quando não está construindo e projetando plataformas de dados modernas, Vivek é um entusiasta da gastronomia que também gosta de explorar novos destinos de viagem e fazer caminhadas.
Mikhail Vaynshteyn é arquiteto de soluções da Amazon Web Services. Mikhail trabalha com clientes de saúde e ciências biológicas para criar soluções que ajudem a melhorar os resultados dos pacientes. Mikhail é especializado em serviços de análise de dados.
Naresh Gautama é um líder de análise de dados e IA/ML na AWS com 20 anos de experiência, que gosta de ajudar os clientes a arquitetar análises de dados altamente disponíveis, de alto desempenho e econômicas e soluções de IA/ML para capacitar os clientes com tomadas de decisão baseadas em dados . Em seu tempo livre, gosta de meditar e cozinhar.
Harsha Tadiparthi é um especialista Principal Solutions Architect, Analytics na AWS. Ele gosta de resolver problemas complexos de clientes em bancos de dados e análises e entregar resultados bem-sucedidos. Fora do trabalho, adora passar tempo com a família, assistir a filmes e viajar sempre que possível.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- EVM Finanças. Interface unificada para finanças descentralizadas. Acesse aqui.
- Grupo de Mídia Quântica. IR/PR Amplificado. Acesse aqui.
- PlatoAiStream. Inteligência de Dados Web3. Conhecimento Amplificado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/accelerate-data-science-feature-engineering-on-transactional-data-lakes-using-amazon-athena-with-apache-iceberg/
- :tem
- :é
- :não
- :onde
- $UP
- 10
- 100
- 12
- 17
- 20
- 20 anos
- 23
- 27
- 7
- a
- Sobre
- acelerar
- Acesso
- realizado
- Conta
- ações
- adicionar
- adicionado
- acrescentando
- Adicional
- endereço
- AI / ML
- tb
- Apesar
- Amazon
- Amazona atena
- Amazon Sage Maker
- Amazon Web Services
- quantidade
- an
- Analítico
- Análises
- analítica
- analisar
- análise
- e
- Outro
- qualquer
- apache
- Apache Spark
- SOMOS
- AS
- At
- disponível
- média
- evitar
- AWS
- Serviços Profissionais AWS
- baseado
- BE
- Porque
- sido
- Benefícios
- construir
- Prédio
- construído
- by
- calculado
- CAN
- capacidades
- casos
- classificação
- Na nuvem
- coleções
- Coluna
- colunas
- combinar
- comentários
- comum
- integrações
- Computar
- computador
- Visão de Computador
- Configuração
- contém
- contexto
- converter
- cozinha
- copiando
- Correções
- relação custo-benefício
- crio
- criado
- Criar
- cliente
- Clientes
- dados,
- Análise de Dados
- lago data
- ciência de dados
- cientista de dados
- orientado por dados
- banco de dados
- bases de dados
- conjuntos de dados
- Data
- decidir
- Tomada de Decisão
- mais profunda
- Padrão
- entregando
- entrega
- demonstrar
- demonstraram
- concepção
- destinos
- distribuído
- fazer
- duplo
- Cair
- durabilidade
- cada
- fácil
- eficiente
- eficientemente
- esforço
- ou
- elementos
- autorizar
- permitir
- encorajar
- Motor
- Engenharia
- Motores
- aprimorada
- Empreendimento
- clientes corporativos
- entusiasta
- Todo
- Equivalente
- Éter (ETH)
- existente
- vasta experiência
- explorar
- externo
- falso
- família
- RÁPIDO
- mais rápido
- Característica
- Funcionalidades
- retornos
- Arquivos
- Foco
- seguir
- seguinte
- comida
- Escolha
- formato
- enquadramentos
- Gratuito
- da
- geralmente
- gerado
- ter
- Go
- Grupo
- Hadoop
- Ter
- he
- saúde
- ajudar
- ajuda
- alta performance
- altamente
- Caminhadas
- sua
- historicamente
- Colméia
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- HTTPS
- identificação
- identificar
- if
- imagens
- melhorar
- in
- Incluindo
- Crescimento
- ineficiente
- Infraestrutura
- Inserções
- insights
- em vez disso
- instruções
- interativo
- para dentro
- introduzido
- isolamento
- emitem
- IT
- jpg
- json
- marcação
- lago
- língua
- grande
- Sobrenome
- traçado
- líder
- APRENDER
- aprendizagem
- Deixar
- vida
- Ciências da Vida
- wifecycwe
- LIMITE
- local
- localização
- ama
- máquina
- aprendizado de máquina
- fazer
- FAZ
- gerencia
- de grupos
- gestão
- muitos
- mercado
- correspondido
- max
- significativo
- Meditação
- mencionado
- ir
- milhão
- desaparecido
- ML
- modelo
- modelos
- EQUIPAMENTOS
- modificar
- mais
- Filmes
- nome
- Nomeado
- nação
- natural
- Linguagem Natural
- Processamento de linguagem natural
- você merece...
- necessitando
- Novo
- novo recurso
- Novos Recursos
- recentemente
- não
- número
- of
- frequentemente
- on
- ONE
- só
- aberto
- open source
- operação
- Operações
- or
- ordens
- Outros
- A Nossa
- resultados
- lado de fora
- passado
- Pagar
- realizar
- atuação
- telefone
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- posição
- possível
- Publique
- preparação
- preço
- Diretor
- problemas
- processo
- processado
- em processamento
- Produtos
- profissional
- fornecer
- compra
- compras
- fins
- Python
- consultas
- rapidamente
- Cru
- dados não tratados
- Leia
- reconhecimento
- registro
- registros
- reduzir
- liberar
- requeridos
- resultar
- rever
- LINHA
- Execute
- corrida
- sábio
- vendas
- mesmo
- Escala
- Ciência
- CIÊNCIAS
- Cientista
- cientistas
- Seção
- Serverless
- serviço
- Serviços
- conjunto
- vários
- mostrando
- Shows
- semelhante
- simples
- simplificada
- simplificar
- solteiro
- So
- Soluções
- Resolvendo
- Fontes
- Faísca
- especialista
- especializada
- discurso
- Reconhecimento de Voz
- gastar
- gasto
- SQL
- padrão
- Declaração
- declarações
- Passo
- Passos
- armazenamento
- loja
- armazenadas
- simplificar
- Tanga
- bem sucedido
- tal
- ajuda
- suportes
- sistemas
- mesa
- Tarefa
- tarefas
- que
- A
- A fusão
- deles
- Eles
- então
- Lá.
- Este
- isto
- tempo
- viagem no tempo
- para
- topo
- Total
- Trem
- Training
- transação
- transacional
- transformado
- transformando
- viagens
- tipo
- subjacente
- compreensão
- Atualizar
- Atualizada
- Atualizações
- atualização
- carregado
- usar
- utilização
- geralmente
- VALIDAR
- Valioso
- valor
- Valores
- vário
- verificar
- versão
- muito
- via
- VÍDEOS
- Ver
- visão
- queremos
- foi
- Assistir
- we
- web
- serviços web
- foram
- quando
- sempre que
- qual
- enquanto
- QUEM
- de
- sem
- Atividades:
- de gestão de documentos
- Workgroup
- trabalhar
- trabalho
- seria
- escrever
- ano
- anos
- Você
- investimentos
- zefirnet
- Zip