Ingestão e integração de dados

Concluído

A ingestão e a integração de dados formam a camada fundamental para o processamento de dados efetivo em Tabelas Dinâmicas Delta (DLT) no Azure Databricks. Isso garante que os dados de várias fontes sejam carregados com precisão e eficiência no sistema para análise e processamento adicionais.

As DLTs facilitam a ingestão e a integração de dados por meio de:

  • Ingestão de várias fontes: permite coletar dados de várias fontes.
  • Processamento de dados em lote e fluxo: permite que você processe dados continuamente ou em intervalos agrupados.
  • Gerenciamento de esquema: garante que seus dados sejam bem estruturados e fáceis de gerenciar.
  • Qualidade e governança de dados: ajuda você a manter a integridade e a conformidade de seus dados
  • Automação e orquestração de pipeline: simplifica e controla a sequência de tarefas de processamento de dados
  • Integração com o ecossistema do Azure: permite que você interaja sem problemas com várias ferramentas e serviços do Azure
  • Otimização de desempenho: aprimora sua capacidade de processar dados de forma rápida e eficaz
  • Monitoramento e acompanhamento de linhagem: ajuda a acompanhar o percurso dos dados e monitorar sua movimentação pelo sistema.

Ingerir e integrar dados no Delta Lake

Para começar a ingerir dados no Delta Lake, o exemplo a seguir percorre a ingestão e a integração de dados de uma fonte de exemplo no Delta Lake usando DLT:

  1. Como configurar seu ambiente do Azure Databricks.
  2. Como Criar Tabelas Delta.
  3. Ingerir dados de arquivos CSV e JSON.
  4. Como transformar e integrar dados.
  5. Como consultar dados integrados.

Como configurar seu ambiente do Azure Databricks

Verifique se o ambiente do Azure Databricks está configurado para usar Tabelas Dinâmicas Delta. A configuração envolve preparar os clusters apropriados e garantir que as DLTs estejam habilitados em seu workspace.

Como criar Tabelas Delta

Para criar Tabelas Delta, você pode usar a instrução CREATE TABLE SQL, conforme mostrado no exemplo a seguir.

-- Create Delta table for customer data
CREATE TABLE customer_data (
    customer_id INT,
    customer_name STRING,
    email STRING
);

-- Create Delta table for transaction data
CREATE TABLE transaction_data (
    transaction_id INT,
    customer_id INT,
    transaction_date DATE,
    amount DOUBLE
);

Ingestão de dados de arquivos CSV e JSON

Você pode usar o Databricks SQL para ler dados de um arquivo CSV e um arquivo JSON e inseri-los em tabelas Delta.

-- Load customer data from CSV
CREATE OR REPLACE TEMPORARY VIEW customer_data_view AS
SELECT * FROM csv.`/path/to/customer_data.csv`
OPTIONS (header "true", inferSchema "true");

-- Insert data into customer Delta table
INSERT INTO customer_data
SELECT * FROM customer_data_view;

-- Load transaction data from JSON
CREATE OR REPLACE TEMPORARY VIEW transaction_data_view AS
SELECT * FROM json.`/path/to/transaction_data.json`;

-- Insert data into transaction Delta table
INSERT INTO transaction_data
SELECT * FROM transaction_data_view;

Como transformar e integrar dados

Você pode executar transformações e unir dados de várias tabelas para criar uma exibição unificada.

-- Create a unified view of customer transactions
CREATE OR REPLACE TEMPORARY VIEW customer_transactions AS
SELECT
    t.transaction_id,
    t.customer_id,
    c.customer_name,
    c.email,
    t.transaction_date,
    t.amount
FROM
    transaction_data t
JOIN
    customer_data c
ON
    t.customer_id = c.customer_id;

-- Create a Delta table for the integrated data
CREATE TABLE integrated_data USING DELTA AS
SELECT * FROM customer_transactions;

Como consultar os dados integrados

Em seguida, você pode consultar os dados integrados para análise.

-- Query the integrated data
SELECT
    customer_name,
    SUM(amount) AS total_spent
FROM
    integrated_data
GROUP BY
    customer_name
ORDER BY
    total_spent DESC;

Seguindo essas etapas, você pode ingerir, transformar e integrar dados de várias fontes no Azure Databricks usando o SQL. Esse processo garante que seus dados sejam armazenados em um formato estruturado e que pode ser consultado, permitindo análises e insights de dados avançados.