Quebrar os dados de dados e consultar perfeitamente as mesas de iceberg na Amazon Sagemaker de Snowflake


As organizações geralmente lutam para unificar seus ecossistemas de dados em várias plataformas e serviços. A conectividade entre Amazon Sagemaker e Cloud de dados da AI do Snowflake Oferece uma solução poderosa para esse desafio, para que as empresas possam aproveitar os pontos fortes de ambos os ambientes, mantendo uma estratégia de dados coesos.

Neste put up, demonstramos como você pode quebrar os silos de dados e aprimorar seus recursos analíticos, consultando as mesas de iceberg do Apache no Arquitetura Lakehouse de Sagemaker diretamente do floco de neve. Com esse recurso, você pode acessar e analisar dados armazenados em Amazon Easy Storage Service (Amazon S3) através Catálogo de dados da AWS Glue usando um AWS GLUE iceberg Relaxation endpointtudo garantido por Formação do lago AWSsem a necessidade de processos complexos de extrato, transformação e carga (ETL) ou duplicação de dados. Você também pode automatizar a descoberta de tabela e atualizar usando Bancos de dados vinculados ao catálogo de floco de neve para iceberg. Nas seções a seguir, mostramos como configurar essa integração para que os usuários de flocos de neve possam consultar e analisar perfeitamente os dados armazenados na AWS, melhorando assim a acessibilidade dos dados, reduzindo a redundância e permitindo análises mais abrangentes em todo o seu ecossistema de dados.

Casos de uso comercial e benefícios -chave

A capacidade de consultar as mesas de iceberg em Sagemaker do Snowflake oferece valor significativo em vários setores:

  • Serviços financeiros – Aumente a detecção de fraude por meio de análise unificada dos dados da transação e padrões de comportamento do cliente
  • Assistência médica – Melhorar os resultados dos pacientes por meio de acesso integrado a dados clínicos, reivindicações e de pesquisa
  • Varejo – Aumentar as taxas de retenção de clientes conectando dados de vendas, estoque e comportamento do cliente para experiências personalizadas
  • Fabricação – Aumentar a eficiência da produção por meio de análise de dados operacionais e de sensores unificados
  • Telecomunicações – Reduza a rotatividade de clientes com análise abrangente do desempenho da rede e dados de uso do cliente

Os principais benefícios dessa capacidade incluem:

  • Tomada de decisão acelerada – Reduza o tempo para perception através do acesso de dados integrados entre plataformas
  • Otimização de custos – Acelere o tempo para perception consultando dados diretamente no armazenamento sem a necessidade de ingestão
  • Fidelidade de dados aprimorada – Reduza as inconsistências de dados, estabelecendo uma única fonte de verdade
  • Colaboração aprimorada -Aumentar a produtividade multifuncional por meio de compartilhamento de dados simplificado entre cientistas e analistas de dados

Usando a arquitetura Lakehouse de Sagemaker com o poder computacional sem servidor e zero e zero, você pode quebrar os silos de dados, permitindo análises abrangentes e acesso a dados democratizando. Essa integração suporta uma arquitetura de dados moderna que priorize a flexibilidade, a segurança e o desempenho analítico, impulsionando, finalmente, a tomada de decisão mais rápida e mais informada em toda a empresa.

Visão geral da solução

O diagrama a seguir mostra a arquitetura para a integração do catálogo entre as mesas de floco de neve e iceberg na casa de Lakehouse.

Quebrar os dados de dados e consultar perfeitamente as mesas de iceberg na Amazon Sagemaker de Snowflake

O fluxo de trabalho consiste nos seguintes componentes:

  • Armazenamento e gerenciamento de dados:
    • A Amazon S3 serve como a camada de armazenamento principal, hospedando os dados da tabela de iceberg
    • O catálogo de dados mantém os metadados para essas tabelas
    • A formação do lago fornece venda de credenciais
  • Fluxo de autenticação:
    • Snowflake inicia consultas usando uma configuração de integração de catálogo
    • A formação do lago vende credenciais temporárias através Serviço de token de segurança da AWS (AWS STS)
    • Essas credenciais são automaticamente atualizadas com base no intervalo de atualização configurado
  • Fluxo de consulta:
    • Os usuários de floco de neve enviam consultas contra as mesas de iceberg montadas
    • A AWS Glue Iceberg Relaxation endpoint processa essas solicitações
    • A execução da consulta usa os recursos de computação do Snowflake enquanto lê diretamente da Amazon S3
    • Os resultados são retornados aos usuários de floco de neve, mantendo todos os controles de segurança

Existem quatro padrões para consultar as mesas de iceberg em Sagemaker de Snowflake:

  • Mesas de iceberg em um balde S3 usando um ponto de extremidade de descanso de iceberg da AWS Glue e Integração do Catálogo de Restos de Flake de Snow, com vendas de credenciais da formação do lago
  • Mesas de iceberg em um balde S3 usando um ponto de extremidade de descanso de iceberg e iceberg aws e integração do catálogo de descanso de floco de neve, usando volumes externos de floco de neve para armazenamento de dados da Amazon S3
  • Mesas de iceberg em um balde S3 usando a integração do catálogo da AWS Glue API, também usando volumes externos do Snowflake para a Amazon S3
  • Tabelas Amazon S3 usando Integração do catálogo de Relaxation Iceberg com vendas de credenciais da formação do lago

Neste put up, implementamos o primeiro desses quatro padrões de acesso usando Integração do catálogo Para o terminal de descanso de iceberg da AWS Glue com Assinatura versão 4 (Sigv4) autenticação em floco de neve.

Pré -requisitos

Você deve ter os seguintes pré -requisitos:

A solução leva aproximadamente 30 a forty five minutos para configurar. O custo varia de acordo com o quantity de dados e a frequência da consulta. Use o Calculadora de preços da AWS Para estimativas específicas.

Crie um papel de IAM para o Snowflake

Para criar um papel do IAM para o Snowflake, você primeiro cria uma política para o papel:

  1. No console do IAM, escolha Políticas no painel de navegação.
  2. Escolher Criar política.
  3. Escolha o editor JSON e insira a seguinte política (forneça sua região AWS e ID da conta) e depois escolha Próximo.
{
     "Model": "2012-10-17",
     "Assertion": (
         {
             "Sid": "AllowGlueCatalogTableAccess",
             "Impact": "Enable",
             "Motion": (
                 "glue:GetCatalog",
                 "glue:GetCatalogs",
                 "glue:GetPartitions",
                 "glue:GetPartition",
                 "glue:GetDatabase",
                 "glue:GetDatabases",
                 "glue:GetTable",
                 "glue:GetTables",
                 "glue:UpdateTable"
             ),
             "Useful resource": (
                 "arn:aws:glue:::catalog",
                 "arn:aws:glue:::database/iceberg_db",
                 "arn:aws:glue:::desk/iceberg_db/*",
             )
         },
         {
             "Impact": "Enable",
             "Motion": (
                 "lakeformation:GetDataAccess"
             ),
             "Useful resource": "*"
         }
     )
 }

  1. Digitar iceberg-table-access como o nome da política.
  2. Escolher Criar política.

Agora você pode criar a função e anexar a política que você criou.

  1. Escolher Papéis no painel de navegação.
  2. Escolher Criar papel.
  3. Escolher Conta da AWS.
  4. Sob Opçõesselecione Requer identificação externa e insira um ID externo de sua escolha.
  5. Escolher Próximo.
  6. Escolha a política que você criou (iceberg-table-access coverage).
  7. Digitar snowflake_access_role como o nome do papel.
  8. Escolher Criar papel.

Configurar controles de acesso à formação do lago

Para configurar os controles de acesso à formação do lago, primeiro configure a integração do aplicativo:

  1. Entre no console de formação do lago como administrador do Information Lake.
  2. Escolher Administração no painel de navegação.
  3. Selecione Configurações de integração de aplicativos.
  4. Habilitar Permitir que os motores externos acessem dados nos locais da Amazon S3 com acesso completo à tabela.
  5. Escolher Salvar.

Agora você pode conceder permissões ao papel do IAM.

  1. Escolher Permissões de dados no painel de navegação.
  2. Escolher Conceder.
  3. Definir as seguintes configurações:
    1. Para Diretoresselecione Usuários e funções do IAM e escolha snowflake_access_role.
    2. Para Recursosselecione Recursos de catálogo de dados nomeados.
    3. Para Catálogoescolha o seu ID da conta do AWS.
    4. Para Banco de dadosescolher iceberg_db.
    5. Para Mesaescolher buyer.
    6. Para Permissõesselecione SUPER.
  4. Escolher Conceder.

O Tremendous Entry é necessário para montar a mesa do iceberg na Amazon S3 como uma mesa de floco de neve.

Registre a localização do S3 Information Lake

Conclua as etapas a seguir para registrar o native do S3 Information Lake:

  1. Como administrador de information Lake no console de formação do lago, escolha Locais de Information Lake no painel de navegação.
  2. Escolher Registro de localização.
  3. Configure o seguinte:
    1. Para Caminho S3insira o caminho S3 para o balde, onde você armazenará seus dados.
    2. Para Papel Iamescolher LakeFormationLocationRegistrationRole.
    3. Para Modo de permissãoescolher Formação do lago.
  4. Escolher Registro de localização.

Configure a integração de descanso de iceberg em floco de neve

Full as seguintes etapas para configurar a integração de descanso de iceberg em Snowflake:

  1. Faça login no Snowflake como usuário administrador.
  2. Execute o seguinte comando SQL (forneça sua região, ID da conta e ID externo que você forneceu durante a criação de papéis do IAM):
CREATE OR REPLACE CATALOG INTEGRATION glue_irc_catalog_int
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
CATALOG_NAMESPACE = 'iceberg_db'
REST_CONFIG = (
    CATALOG_URI = 'https://glue..amazonaws.com/iceberg'
    CATALOG_API_TYPE = AWS_GLUE
    CATALOG_NAME = ''
    ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
)
REST_AUTHENTICATION = (
    TYPE = SIGV4
    SIGV4_IAM_ROLE = 'arn:aws:iam:::position/snowflake_access_role'
    SIGV4_SIGNING_REGION = ''
    SIGV4_EXTERNAL_ID = ''
)
REFRESH_INTERVAL_SECONDS = 120
ENABLED = TRUE;

  1. Executar o seguinte comando sql e recuperar o valor para API_AWS_IAM_USER_ARN:

DESCRIBE CATALOG INTEGRATION glue_irc_catalog_int;

  1. No console do IAM, atualize o relacionamento de confiança para snowflake_access_role com o valor para API_AWS_IAM_USER_ARN:
{
    "Model": "2012-10-17",
    "Assertion": (
        {
            "Sid": "",
            "Impact": "Enable",
            "Principal": {
                "AWS": (
                   ""
                )
            },
            "Motion": "sts:AssumeRole",
            "Situation": {
                "StringEquals": {
                    "sts:ExternalId": (
                        ""
                    )
                }
            }
        }
    )
}

  1. Verifique a integração do catálogo:

SELECT SYSTEM$VERIFY_CATALOG_INTEGRATION('glue_irc_catalog_int');

  1. Monte a mesa S3 como uma mesa de floco de neve:
CREATE OR REPLACE ICEBERG TABLE s3iceberg_customer
 CATALOG = 'glue_irc_catalog_int'
 CATALOG_NAMESPACE = 'iceberg_db'
 CATALOG_TABLE_NAME = 'buyer'
 AUTO_REFRESH = TRUE;

Consulte a mesa de iceberg do Snowflake

Para testar a configuração, faça login no Snowflake como usuário administrador e execute a seguinte consulta de amostra:SELECT * FROM s3iceberg_customer LIMIT 10;

Limpar

Para limpar seus recursos, full as seguintes etapas:

  1. Exclua o banco de dados e a tabela na cola da AWS.
  2. Solte a mesa do iceberg, a integração do catálogo e o banco de dados em Snowflake:
DROP ICEBERG TABLE iceberg_customer;
DROP CATALOG INTEGRATION glue_irc_catalog_int;

Certifique -se de que todos os recursos sejam limpos adequadamente para evitar cobranças inesperadas.

Conclusão

Neste put up, demonstramos como estabelecer uma conexão segura e eficiente entre o seu ambiente de floco de neve e o Sagemaker para consultar mesas de iceberg na Amazon S3. Esse recurso pode ajudar sua organização a manter uma única fonte de verdade, além de permitir que as equipes usem suas ferramentas de análise preferidas, dividindo os silos de dados e aprimorando os recursos de análise colaborativa.

Para explorar e implementar ainda mais esta solução em seu ambiente, considere os seguintes recursos:

  • Documentação Técnica:
  • Postagens relacionadas ao weblog:

Esses recursos podem ajudá -lo a implementar e otimizar esse padrão de integração para o seu caso de uso específico. Ao iniciar essa jornada, lembre -se de iniciar pequenos, validar sua arquitetura com dados de teste e dimensionar gradualmente sua implementação com base nas necessidades da sua organização.


Sobre os autores

Nidhi Gupta

Nidhi Gupta

Nidhi é um arquiteto de soluções de parceiros sênior da AWS, especializado em dados e análises. Ela ajuda os clientes e parceiros a criar e otimizar as cargas de trabalho de floco de neve na AWS. A NIDHI tem uma vasta experiência liderando lançamentos e implantações de produção, com foco em dados, IA, ML, IA generativa e análise avançada.

Andries Engelbrecht

Andries Engelbrecht

Andries é um engenheiro de soluções de parceiros principais da Snowflake que trabalha com a AWS. Ele suporta integrações de produtos e serviços, bem como o desenvolvimento de soluções conjuntas com a AWS. Andries tem mais de 25 anos de experiência no campo de dados e análises.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *