Introdução aos conjuntos de dados externos

O Couchbase está muito animado em anunciar seus novos "Conjuntos de dados externos" Serviços de análise na última versão do Lançamento do Couchbase Server 6.6. Os conjuntos de dados externos permitem que os clientes acessem dados armazenados externamente em tempo real a partir do Amazon Web Services (AWS) Simple Storage Service (S3) e combinem dados residentes no S3 com dados existentes do Couchbase para análise.

Caso de uso do cliente

Alguns clientes usam o AWS S3 para reduzir os custos de armazenamento e armazenar dados (por exemplo, vários anos de dados históricos, dados comerciais off-line para aprendizado de máquina, análises de produtos etc.). Eles expressaram o desejo de combinar, consultar e utilizar os dados do S3 em tempo real para disponibilizar esses dados aos usuários corporativos para análise. Você pode ler mais sobre outros casos de uso do Analytics aqui.

Como funcionam os conjuntos de dados externos?

Os conjuntos de dados externos oferecem a capacidade de consultar e analisar dinamicamente os dados que residem no AWS S3, permitindo que os usuários combinem facilmente os dados em tempo real de dentro e de fora dos nós de análise do Couchbase. Isso é feito em três etapas simples:

  1. Configure um link S3 usando um Chamada à API REST ou o interface de linha de comando (CLI)
  2. Criar um conjunto de dados externo no link S3
  3. Consultar o conjunto de dados usando SQL++ (ou sua ferramenta de BI favorita)

Vamos ver um exemplo simples. A iMaz, uma empresa de comércio eletrônico, vende produtos de consumo on-line. Seus dados de pedidos, produtos e usuários são armazenados em um cluster do Couchbase com serviços de dados e de análise (em conjuntos separados de nós no cluster). A iMaz também armazena as avaliações dos produtos no AWS S3 e gostaria de combinar e analisar os três produtos mais bem avaliados usando o Couchbase Analytics Service.

Amostra de dados do produto:

Amostra de dados de revisão:

Vamos seguir as três etapas acima com um exemplo de código de configuração e uma consulta SQL++.

Etapa 1: Configurar o link S3

Criaremos um link S3 usando um Chamada à API REST. (Como alternativa, você pode usar o CLI para criar links S3.). Precisamos fornecer:

  • Nome do host do Analytics Service
  • Credenciais de usuário do Analytics
  • Nome do link S3 (neste caso, myS3Link)
  • Nome do dataverse (se for diferente do padrão)
  • Tipo de link (S3)
  • ID da chave de acesso necessária do AWS S3
  • Chave de acesso secreta obrigatória do AWS S3
  • Região necessária do AWS S3 (por exemplo, us-west-2)

Etapa 2: Criar um conjunto de dados externo

Usando o Analytics workbench, criaremos agora um conjunto de dados externo chamado "S3productreviews". Precisaremos especificar:

  • Nome do bucket S3
  • Nome do dataverse (se for diferente do padrão) e nome do bucket S3 (neste caso, cb-analytics-6.6-demo)
  • Local do diretório (opcional) dentro do compartimento onde os arquivos serão lidos e coletados recursivamente (neste caso, as análises de produtos são armazenadas em uma pasta "reviews")
  • Formato de arquivo (neste caso, usaremos JSON) com a capacidade de especificar um padrão de pesquisa (neste caso, *.json indica que todos os arquivos JSON serão incluídos na consulta de dados)

Atualmente, o recurso de conjuntos de dados externos é compatível com o json, csv (valores separados por vírgula) e tsv (valores separados por tabulação)  formatos de arquivo, inclusive arquivos gzip compactados (nomes de arquivos que terminam com .gz ou .gzip). Os formatos csv e tsv exigem que você especifique uma definição de tipo sublinhada (mais sobre isso em breve). Outros formatos de arquivo serão suportados em versões futuras. Você pode ler mais sobre isso aqui.

Etapa 3: Consulta usando o SQL++

Como última etapa, podemos agora executar a consulta SQL++ listada abaixo (que se parece exatamente com o SQL :)). Ela une o conjunto de dados de produtos existentes do Couchbase Analytics Service e os dados de avaliações de produtos do AWS S3 para obter os três produtos mais bem avaliados.

Aqui estão os resultados da consulta json:

Isso é ótimo - agora podemos combinar e analisar dados externos localizados no AWS S3 a partir do Couchbase Analytics Service. Observe como foram necessárias poucas etapas para que pudéssemos analisar nossos dados; não houve ETL, e os dados ficaram imediatamente disponíveis!

Agora você deve estar se perguntando: Como isso teria funcionado se o formato do arquivo de análises do S3 fosse do tipo csv em vez de JSON? A resposta é simples: você simplesmente teria construído seu conjunto de dados externo de acordo. Abaixo, mostramos como seria a instrução create external dataset (criar conjunto de dados externo) acima para suportar csv:

Observe como a instrução create agora inclui informações de tipo sublinhadas. Isso é necessário para informar ao Analytics como interpretar os dados csv (por exemplo, não apenas como cadeias de caracteres).

A consulta SQL++ permanece exatamente a mesma. Isso mesmo, nenhuma mudança! Os conjuntos de dados externos são fáceis de configurar, flexíveis e simples de usar graças ao poder da linguagem SQL++. Os usuários podem desenvolver consultas ad hoc complexas para explorar mais os dados, responder a novas perguntas comerciais e combinar dados externos com dados de Links remotos para trazer outras fontes de dados do Couchbase também.

Benefícios

Aqui estão os principais benefícios decorrentes do uso de conjuntos de dados externos:

  1. Enriquecimento de dados. Os dados do Couchbase agora podem ser enriquecidos com informações adicionais obtidas de arquivos que residem no lago de dados baseado em S3 de uma empresa.
  2. Acesso dinâmico aos dados. Os dados mais recentes podem ser recuperados, transmitidos, combinados e analisados dinamicamente de qualquer bucket S3 em qualquer região do AWS durante a execução da consulta do Analytics.
  3. Processamento de consultas paralelas. Os usuários podem configurar e organizar o acesso aos dados do S3 usando a arquitetura de processamento de consultas de processamento paralelo massivo (MPP) do Analytics para obter uma resposta rápida a consultas que envolvem dados externos.

Resumo

Os conjuntos de dados externos desbloqueiam o valor dos dados externos ao vivo e arquivados que residem em lagos de dados baseados no S3. Os usuários podem combinar e analisar dados em tempo real, provenientes do AWS S3 e do Couchbase Analytics Service. Isso permite uma análise de dados mais rápida e abrangente e uma tomada de decisão ágil.

Recursos

Você pode saber mais sobre as declarações de conjuntos de dados externos aqui. Registro aqui para nosso próximo webinar "O que há de novo na versão 6.6 do Couchbase Server".

Explore os recursos do Couchbase Server 6.6

Blogs

Documentos e tutoriais

Páginas da web e webinars

O que há de novo no Couchbase Server 6.6

O que há de novo no Couchbase Server 6.6?

Novos recursos no Couchbase Server 6.6: análise, backup, consulta e muito mais

Aprimoramentos de eventos (temporizadores, manipuladores e estatísticas)

Notas de versão do Couchbase Server 6.6

Serviço de análise do Couchbase

Links remotos - Analise sua empresa com o Couchbase Analytics

Experimente o serviço de consultoria de índice do Couchbase

O que há de novo no Couchbase Server (página do produto)

Conjuntos de dados externos - Amplie seu alcance com o Couchbase Analytics

Configurar links remotos e S3 do Analytics usando a API REST

Comparar edições

Anunciando o Flex Index com o Couchbase

Criar conjuntos de dados externos usando a linguagem de definição de dados (DDL)

 

Apresentando o backup no Object Store (S3)

Configurar links remotos e S3 do Analytics usando a CLI

 

Importar documentos com o Web Admin Console

   

Agradecemos a Till Westmann pela coautoria e a Michael Carey pelas valiosas contribuições e pela revisão desta postagem.

till westman engineering director analytics

 

Coautor

Till Westmann, diretor de engenharia da Couchbase

Till Westmann é diretor de engenharia da Couchbase e trabalha no Analytics Service. Antes de ingressar na Couchbase, Till desenvolveu software de gerenciamento de dados na Oracle, 28msec, SAP, BEA Systems, XQRL e Xyleme. Ele é membro da Apache Software Foundation e vice-presidente do projeto Apache AsterixDB. Till é PhD pela Universidade de Mannheim, na Alemanha.

Autor

Postado por Idris Motiwala

Idris é gerente de produto principal de análise na Couchbase, com mais de 20 anos de experiência em design, desenvolvimento e execução de produtos de software em empresas da Fortune 500 e startups, liderando equipes de transformação digital, nuvem e análise. Idris tem mestrado em gerenciamento de tecnologia e certificações em gerenciamento de produtos.

Um comentário

  1. Esse é um recurso revolucionário! Eu simplesmente adoro!!!

Deixar uma resposta