sparkanos – Arruda – Data Consulting https://modelo6.augustomello.com.br Tue, 10 Sep 2024 08:02:08 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.3 https://modelo6.augustomello.com.br/wp-content/uploads/2025/08/cropped-Logo-Arruda-Consulting-2025-Picto-1b-32x32.png sparkanos – Arruda – Data Consulting https://modelo6.augustomello.com.br 32 32 Como acessar os dados do seu Lakehouse? https://modelo6.augustomello.com.br/como-acessar-os-dados-do-seu-lakehouse/ https://modelo6.augustomello.com.br/como-acessar-os-dados-do-seu-lakehouse/#respond Tue, 10 Sep 2024 08:02:08 +0000 https://arrudaconsulting.com.br/?p=5715 Bom, na semana passada tivemos mais uma Live dos Sparkanos, e dessa vez com um Hand-ons de 2 horas de Apache Spark.

E uma das dúvidas que surgiram, foi entender como o cliente acessa esses dados, uma vez que processamos os dados com o Spark.

Para facilitar o entendimento vou deixar um tutorial abaixo desde a ingestão dos dados na camada bronze utilizando o Jupyter Notebook e como acessar os dados via Trino.

Então neste exemplo iremos acessar os dados de duas maneiras:

  • Jupyter utilizando Pyspark.
  • Trino utilizando Querys SQL.


Na nossa Arquitetura acima, temos as nossas camadas bronze, silver e gold armezando todos os nossos dados em formato Delta, aproveitando toda a integração entre Spark & Delta, como por exemplo:

  • Time Travel.
  • ACID.
  • CDF.

Bom vamos lá…

Ao criar um novo Notebook iremos começar pelas configurações do Spark e também do Minio que é aonde armazenamos os nossos dados neste projeto dos Sparkanos.

import pyspark
from pyspark.sql import SparkSession
import logging
spark = SparkSession.builder \
.appName("ELT Full Postgres to Landing AdventureWorks") \
.config("spark.hadoop.fs.s3a.endpoint", "http://minio:9000") \
.config("spark.hadoop.fs.s3a.access.key", "chapolin") \
.config("spark.hadoop.fs.s3a.secret.key", "mudar@123") \
.config("spark.hadoop.fs.s3a.path.style.access", True) \
.config("spark.hadoop.fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem") \
.config("spark.hadoop.fs.s3a.aws.credentials.provider", "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider") \
.config("hive.metastore.uris", "thrift://metastore:9083") \
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
.getOrCreate()

Agora iremos ler os dados do Minio


E aqui começamos a ler os dados no Jupyter.


Agora iremos gravar os dados desta tabela na camada bronze


Ingestão dos dados feita com sucesso na camada bronze


Agora iremos acessar esses dados via SQL utilizando o Trino, no Dbeaver.

E para acessarmos esses dados precisamos criar os metadados e depois mapear a nossa tabela com o diretório que se encontra os nossos dados:

Comandos SQL no Trino

— Criando os metadados no Hive

CREATE SCHEMA hive.bronze WITH (location=‘s3a://bronze/’)

CREATE SCHEMA hive.silver WITH (location=‘s3a://silver/’)

CREATE SCHEMA hive.gold WITH (location=‘s3a://gold/’)

— Criando a Tabela no Trino

call delta.system.register_table (

schema_name => ‘bronze’,

table_name => ‘person_address’,

table_location => ‘s3a://bronze/person_address/delta_table’

);

— Consultando a tabela person_addres.

select * from delta.bronze.person_address

E agora já conseguimos analisar os dados via SQL


E aqui poderíamos fazer joins com outras tabelas, filtrar dados, agrupar dados basicamente utilizando SQL.

Então nessa arquitetura utilizamos o Spark para processamento dos dados, porém para analisar os dados podemos utilizar basicamente SQL.

E uma vez que os dados chegam no Trino, podemos conectar diversas Ferramentas de Dataviz como: Power BI, Tableau, Qlik e claro as versões Open Sources como Superset e Metabase.

Espero que este artigo tenha te ajudado a entender melhor a sequência e como integramos Spark, Minio e Trino para implementar um Pipeline de dados Robusto e altamente escalável.

Caso queira aprender mais sobre Apache Spark, recentemente fizemos uma Aula de 2 horas de Hand-ons.

Link Aula

Muito Obrigado e até o próximo Artigo.

Rafael Arruda

]]>
https://modelo6.augustomello.com.br/como-acessar-os-dados-do-seu-lakehouse/feed/ 0
Finalizamos a 1ª turma do Sparkanos https://modelo6.augustomello.com.br/finalizamos-a-1a-turma-do-sparkanos/ https://modelo6.augustomello.com.br/finalizamos-a-1a-turma-do-sparkanos/#respond Mon, 29 Jul 2024 08:56:24 +0000 https://arrudaconsulting.com.br/?p=5686 Nos últimos 2 sábados 50 profissionais participaram da nossa 1ª turma do Sparkanos, muito mais que um novo treinamento, na verdade é um projeto, nessas duas semanas ensinamos como criar um Lakehouse 100% Open Source, com as seguintes tecnologias:

  • Apache Spark.
  • Docker.
  • Minio.
  • Trino.
  • Superset.
  • Open Metadata.
  • Apache Airflow.

 

Uma verdadeira imersão, sem contar os conteúdos que não estavam previsto mas vimos a necessidade de abordar:

  • Terraform.
  • Criando um Cluster na Google Cloud.
  • Como utilizar o Docker Swarm.
  • Docker Scout para varredura de vulnerabilidade no Docker.
  • Introdução a Segurança.
  • Criação de um Domínio e certificado.
  • Utilização de micro-serviços de forma segura com HTTPS.

Sem contar todo o Networking, que acontece no grupo do curso e também nas aulas ao vivo.

Estamos muito orgulhos do excelente conteúdo que nós da Arruda Consulting conseguimos transmitir para os nossos alunos.

Teremos mais uma turma ao vivo este ano, será nos dias 21 e 28 de setembro, então aproveite e garanta a tua inscrição na Pré-Venda, com 20% de desconto, vagas limitadas.

Os primeiros 30 alunos ganham o Kit do curso.

https://sparkanos.arrudaconsulting.com.br/

Cupom: sparkanos

Muito Obrigado.

]]>
https://modelo6.augustomello.com.br/finalizamos-a-1a-turma-do-sparkanos/feed/ 0
Começou o Sparkanos!!! https://modelo6.augustomello.com.br/comecou-o-sparkanos/ https://modelo6.augustomello.com.br/comecou-o-sparkanos/#respond Sun, 21 Jul 2024 17:47:05 +0000 https://arrudaconsulting.com.br/?p=5677 E assim foi o nosso sábado!!!

50 profissionais confiaram no nosso trabalho para aprender como Criar um Data Lake 100% Open Source com Apache Spark!!

Primeiramente nos enche de orgulho ver uma sala tão cheia assim com tantos profissionais incriveis, alguns são nossos alunos desde 2019 quando começamos ensinando ETL com Pentaho e aos novos alunos sejam muito bem-vindos!

Gostaria de destacar a excelência e profundo conhecimento do Wallace Camargo, nosso instrutor neste novo treinamento, que mostrou um domínio absurdo sobre as tecnologias abordada, ainda mais no Spark que foi o foco no 1º dia.

Na parte da manhã, entendemos com o Spark realmente funciona, que é uma aplicação para trabalhar em cluster, ou seja utilizar várias maquinas e não somente uma, entendemos o conceito de manager e works e vimos na prática como o Spark se comporta quando adicionamos e removemos maquinas de forma automática.

Vimos toda as vantagens de utilizar o formato delta:

  • AICD.
  • Time Travel.
  • CDF.

Na parte da tarde foi a vez de criar um Data Lake com Apache Spark, gerando todas as camadas:

  • Landing Zone.
  • Bronze.
  • Silver.
  • Gold.

Neste 1º dia utilizamos o Spark para processamento e tratamento dos dados, o MiniO para armazenamento dos dados e o Trino para consulta e manipulação dos dados.

E o mais incrível é que foi tudo 100% Open Source, semana que vem tem mais Spark e também iremos abordar as demais tecnologias da Stack.

Conheça o nosso Treinamento do Sparkanos.

Link

2ª Turma será nos dias 21/09 e 28/09.

Muito Obrigado e uma ótima semana!!

Rafael Arruda

]]>
https://modelo6.augustomello.com.br/comecou-o-sparkanos/feed/ 0