Inicialize uma pilha de dados moderna em 5 minutos com o Terraform
O que é uma pilha de dados moderna e como você a implanta? Este guia vai motivá-lo a iniciar esta jornada com instruções de configuração para Airbyte, BigQuery, dbt, Metabase e tudo o mais que você precisa usando o Terraform.
By Tuan Nguyen, CTO e membro do Conselho da Joon Solutions.
A Modern Data Stack Architecture (imagem do autor).
O que é uma pilha de dados moderna
Modern Data Stack (MDS) é uma pilha de tecnologias que faz com que um data warehouse moderno tenha um desempenho de 10 a 10,000 vezes melhor do que um data warehouse legado. Em última análise, um MDS economiza tempo, dinheiro e esforço. Os quatro pilares de um MDS são uma conector de dados, um armazém de dados na nuvem, um transformador de dadose um BI e exploração de dados ferramenta.
Transferências integração é possível com ferramentas gerenciadas e de código aberto que pré-criam centenas de conectores prontos para uso. O que costumava exigir uma equipe de engenheiros de dados para construir e manter regularmente agora pode ser substituído por uma ferramenta para casos de uso simples. Soluções gerenciadas como ponto e Fivetran, juntamente com soluções de código aberto como Byte aéreo e Meltano, estão fazendo isso acontecer.
Usando um data warehouse colunar baseado em nuvem tem sido a tendência recentemente devido ao seu alto desempenho e custo-benefício. Em vez de pagar US$ 100 mil por ano por um banco de dados local MPP (processamento massivamente paralelo), você pode começar a pagar a partir de US$ 100 (ou menos) por mês. Diz-se que os data warehouses nativos da nuvem são 10 a 10,000 vezes mais rápidos que um OLTP tradicional. As opções populares nesta categoria são BigQuery, Floco de neve e Redshift.
Antigamente, o processamento de dados dentro do data warehouse era o gargalo devido às limitações da tecnologia. Como resultado, as empresas tiveram que favorecer o ETL em vez do ELT para reduzir a carga de trabalho do data warehouse. Com o avanço dos data warehouses nativos da nuvem, no entanto, muitos ferramentas de transformação no data warehouse estão se popularizando. Os mais notáveis nesta categoria são dbt (ferramenta de construção de dados) e Dataform.
Ferramentas de BI costumava cuidar de algumas transformações para reduzir a carga de trabalho em data warehouses legados também. No entanto, com a pilha de dados moderna, o foco das ferramentas de BI mudou (na minha opinião) para democratizar o acesso a dados, autoatendimento e descoberta de dados. Algumas ferramentas que eu acho que estão indo na direção certa são Looker, metabase e superset.
Nossa arquitetura
Começar com o Modern Data Stack pode ser assustador, pois muitas ferramentas e processos diferentes estão envolvidos. Este artigo tem como objetivo ajudá-lo a iniciar essa jornada da maneira mais tranquila possível. Existem muitas etapas de preparação, mas leva apenas cinco minutos para ativar todos os recursos quando terminar.
Nós estaremos usando Terraform, uma ferramenta de código aberto de infraestrutura como código para provisionar tudo no Google Cloud. Se você seguir as instruções abaixo, aqui estão os recursos que serão criados.
- Um projeto do Google Cloud com a API necessária ativada
- Ingestão: uma instância do GCE executando o Airbyte
- Armazenamento: conjuntos de dados do BigQuery
- Orquestração (opcional): uma instância do GCE executando o Airflow
- BI e descoberta de dados: uma instância do GCE executando o Metabase
- Contas de serviço para diferentes serviços e suas vinculações de permissão do IAM
Iniciar
Crie uma conta do Google Cloud e ative o faturamento
O código do Terraform neste projeto interagirá com o Google Cloud Platform. Portanto, nosso primeiro passo é criar uma conta do Google e habilitar faturamento. Note o ID de cobrança com o seguinte formato na página de faturamento: ######-######-######. Você precisará desse valor na próxima etapa.
Instale a CLI do Google Cloud
Instale o Google Cloud SDK seguindo as instruções SUA PARTICIPAÇÃO FAZ A DIFERENÇA para seu respectivo SO. Depois de ter o gcloud CLI instalado, execute o seguinte comando em uma janela de terminal e siga as instruções. Isso permitirá que o Terraform use a credencial padrão para autenticação.
gcloud auth login de aplicativo padrão
Instalar terraform
Siga as instruções SUA PARTICIPAÇÃO FAZ A DIFERENÇA para instalar o Terraform CLI localmente. Execute o seguinte comando depois para verificar sua instalação:
terraform -v
Você deveria ver algo assim:
Terraform v1.0.0 em darwin_amd64 + registro do provedor.terraform.io/hashicorp/google v3.71.0
Fork ou clone este repositório localmente
Você pode bifurcar este repositório para sua conta ou clone-o para sua máquina local. Para clonar o repositório, execute o seguinte:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Crie uma terraform.tfvars lima
Crie uma terraform.tfvars arquivo com o seguinte conteúdo:
# O ID de cobrança da primeira etapa billing_id = ######-######-###### # O ID da pasta de onde você deseja que seu projeto esteja # Deixe em branco se você usar uma conta pessoal folder_id = "" # O ID da organização onde você deseja que seu projeto esteja # Deixe em branco se você usar uma conta pessoal org_id = "" # O projeto para criar project_id = ""
Aviso: Estes são considerados valores sensíveis. Não comite este arquivo e o *.tfstate arquivos para um repositório público.
Personalize os valores em variáveis.tf
As variáveis em variáveis.tf será usado para as configurações dos recursos.
Imagem do autor.
Você pode personalizar o tipo de máquina para diferentes serviços alterando as variáveis. Se você não quiser usar nenhum serviço, comente-o no gce.tf arquivo.
Você também pode criar conjuntos de dados diferentes para seus sistemas de origem adicionando-os ao dicionário de conjuntos de dados de origem.
Crie uma pilha de dados moderna
Por fim, para provisionar todos esses recursos no Google Cloud, execute o seguinte comando:
aplicar terraform
Imagem do autor.
Estude a saída no terminal para certificar-se de que todas as configurações de recursos são o que você deseja que sejam. Tipo sim e acerte entrar.
O Terraform criará um projeto do Google Cloud com nossa pilha de dados moderna. Todo o processo levará cerca de 2 a 3 minutos. Demora 2 a 3 minutos adicionais para que os serviços sejam instalados nas instâncias de VM. Todo o processo levará apenas 5 minutos ou menos.
Usando a pilha de dados moderna
Recuperar contas de serviço para diferentes serviços
Imagem do autor.
O Google recomenda usar uma conta de serviço diferente para serviços diferentes. O código terraform no projeto criou contas diferentes para diferentes tecnologias já usadas. Para recuperar uma conta de serviço para um serviço específico, execute o seguinte comando:
saída do terraform [service_name]_sa_key
A permissão padrão para todas essas contas é funções/bigquery.admin. Você pode personalizar isso no iam.tf arquivo.
O valor que você obteve de volta é codificado em base64. Para retornar esse valor ao formato JSON, execute o seguinte comando:
echo "[valor do comando anterior]" | base64 -d
Você pode usar a conta de serviço JSON para autenticar o acesso de serviço aos recursos do seu projeto.
Aviso: qualquer pessoa com esta conta de serviço pode acessar seu projeto.
Ingerir dados com Airbyte
Byte aéreo é uma excelente ferramenta de integração de dados de código aberto. Para acessar a IU do Airbyte, primeiro, obtenha o comando gcloud SSH.
Imagem do autor.
Você receberá um comando semelhante a este:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Em seguida, adicione o seguinte ao comando para encaminhar a interface do usuário do Airbyte localmente:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Seu comando final ficará assim:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
Observação: Certifique-se de excluir o caractere de nova linha após copiar da IU do GCP.
Se a instância do Airbyte tiver terminado de inicializar, você poderá acessá-la acessando seu navegador e visitando localhost: 8000. Caso contrário, aguarde cinco minutos para que a instância conclua a instalação.
Imagem do autor.
Agora você pode integrar suas origens, adicionar um destino do BigQuery usando o airbyte_sa_key, e tenha seus dados no BigQuery rapidamente.
Você pode acessar a instalação do Airbyte em /byte aéreo/ dentro da VM.
Dados do modelo com dbt
dbt (ferramenta de construção de dados) é uma poderosa ferramenta de transformação de dados de código aberto usando SQL. Ele permite que analistas de dados façam o trabalho anteriormente reservado para engenheiros de dados. Também ajuda a criar uma posição totalmente nova chamada Analytics Engineer, um híbrido de Analista de Dados e Engenheiro de Dados. Você pode ler mais sobre a posição no meu blog SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Imagem do autor.
Ao contrário do Airbyte, Airflow e Metabase, você não precisa de um servidor para executar o dbt. Você pode se registrar para uma conta gratuita (para sempre) de 1 usuário visitando o site site do Network Development Group.
Orquestre o fluxo de trabalho com o Airflow
O fluxo de ar é uma ferramenta de orquestração de fluxo de trabalho comprovada em batalha criada pelo Airbnb. Com uma pilha de dados moderna, esperamos que você não precise usar muito o Airflow. No entanto, em alguns casos em que é necessária alguma personalização, o Airflow pode ser sua ferramenta preferida.
Para acessar a interface do usuário, obtenha o comando SSH semelhante à seção acima com Airbyte. Use o seguinte comando para encaminhamento de porta:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Agora você pode acessar a instalação do Airflow em localhost: 8080. O nome de usuário e senha padrão são admin e admin.
Imagem do autor.
Você pode acessar a instalação de fluxo de ar em /fluxo de ar/ dentro da VM.
Visualize dados com Metabase
metabase é uma ferramenta de visualização e descoberta de dados de código aberto. É super fácil de usar e fácil de começar.
Para acessar a interface do usuário da Metabase, obtenha o comando SSH semelhante à seção acima com Airbyte. Em seguida, use o seguinte comando para encaminhamento de porta:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Imagem do autor.
limpar
Para evitar qualquer custo indesejado incorrido, certifique-se de limpar os recursos criados neste projeto executando.
terraform destruir
Atenção: Isso excluirá todos os dados e recursos persistentes no projeto. Como alternativa, você pode desativar o GCE não utilizado para economizar custos também.
Óptimo estado. Original. Republicado com permissão.
Bio: Tuan Nguyen é o CTO da Joon Solutions, uma empresa de dados como serviço. Suas experiências profissionais giram em torno da construção e gerenciamento de equipes de ciência de dados, infraestrutura analítica e casos de uso analíticos. Ele adora combinar sua paixão por análise de dados e computação em nuvem para ajudar as empresas a se manterem competitivas nos dias de hoje. Ele tem uma ampla gama de interesses, incluindo astronomia, leitura, música e IoT.
Relacionado:
Fonte: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- Acesso
- Conta
- Adicional
- Airbnb
- Todos os Produtos
- analista
- analítica
- apache
- api
- arquitetura
- por aí
- artigo
- astronomia
- Autenticação
- auto
- beta
- bigquery
- morada
- Blog
- borda
- membro do conselho
- fronteira
- navegador
- construir
- Prédio
- negócios
- Cuidado
- casos
- Na nuvem
- computação em nuvem
- Plataforma em nuvem
- código
- Empresas
- Empresa
- Computar
- computação
- conteúdo
- custos
- Criar
- CTO
- dados,
- acesso a dados
- Análise de Dados
- integração de dados
- ciência de dados
- Visualização de dados
- data warehouse
- armazéns de dados
- banco de dados
- dia
- deep learning
- destruir
- digital
- Diretor
- descoberta
- engenheiro
- Engenheiros
- Experiências
- Primeiro nome
- Foco
- seguir
- formato
- Gratuito
- Dourado
- Parceria
- GPUs
- guia
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- Como funciona o dobrador de carta de canal
- HTTPS
- Centenas
- HÍBRIDO
- IAM
- imagem
- Incluindo
- Infraestrutura
- integração
- envolvido
- iot
- IT
- APRENDER
- aprendizagem
- local
- localmente
- aprendizado de máquina
- Fazendo
- média
- ML
- dinheiro
- Música
- online
- aberto
- open source
- Opinião
- Opções
- Senha
- atuação
- plataforma
- Popular
- projeto
- público
- alcance
- Leitura
- reduzir
- recurso
- Recursos
- Execute
- corrida
- Ciência
- cientistas
- Sdk
- Autoatendimento
- Serviços
- simples
- Soluções
- Spin
- SQL
- começo
- começado
- ficar
- Histórias
- sistemas
- Tecnologias
- tempo
- topo
- Transformação
- transformando
- ui
- valor
- visualização
- esperar
- Armazém
- O que é a
- Atividades:
- de gestão de documentos
- X
- ano