Translate

Mostrar mensagens com a etiqueta Analytics. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Analytics. Mostrar todas as mensagens

quarta-feira, 18 de fevereiro de 2026

🔥 NumPy: O “PACKED DECIMAL” do Python que Vai Explodir sua Cabeça COBOL

 

Bellacosa Mainframe apresenta a biblioteca matematica do Python

🔥 NumPy: O “PACKED DECIMAL” do Python que Vai Explodir sua Cabeça COBOL

Se você veio do mundo COBOL, onde cada byte importa, cada campo tem propósito e cada processamento precisa ser eficiente… então prepare-se: você está prestes a conhecer o coração matemático do Python — a biblioteca NumPy.

E sim… ela é MUITO mais próxima do seu mundo do que você imagina.


☕ O choque de realidade: Python puro vs processamento “mainframe-like”

No COBOL, você já sabe:

  • COMPUTE é rápido
  • PERFORM VARYING é controlado
  • Estruturas são previsíveis

Agora veja isso no Python “cru”:

lista = [1, 2, 3, 4]
resultado = [x * 2 for x in lista]

Funciona… mas não é exatamente eficiente nível mainframe, certo?

Agora entra o NumPy:

import numpy as np

array = np.array([1, 2, 3, 4])
resultado = array * 2

💥 BOOM.

Você acabou de fazer processamento vetorial, algo muito mais próximo de um:

“loop implícito otimizado em assembler por baixo dos panos”

Sim… isso cheira a z/Architecture.


🧠 Origem: quando cientistas reinventaram o “processamento batch”

O NumPy nasceu oficialmente em 2006, mas sua raiz vem de duas bibliotecas:

  • Numeric
  • Numarray

Ambas criadas para resolver um problema clássico:

“Python era bom… mas lento para matemática pesada”

A fusão virou NumPy — e trouxe um conceito poderoso:

👉 Arrays homogêneos de alta performance

Se você pensa em:

  • tabelas VSAM
  • buffers de memória
  • áreas de trabalho

Você já entendeu metade do NumPy.


⚙️ O conceito que muda tudo: ndarray

O coração do NumPy é o ndarray (N-dimensional array).

Pense nisso como:

COBOLNumPy
OCCURSarray
PIC 9(5)V99dtype=float64
Tabela indexadandarray
Área contígua memóriabuffer otimizado

Exemplo:

import numpy as np

dados = np.array([10, 20, 30])
print(dados * 2)

Saída:

[20 40 60]

Sem loop explícito. Sem PERFORM.

👉 Isso é chamado de vectorization.


🚀 Performance: aqui mora o espírito do mainframe

NumPy é rápido porque:

  • Escrito em C (baixo nível)
  • Usa operações vetorizadas
  • Evita overhead de loops Python

📌 Tradução para o mundo COBOL:

“Você está rodando um SORT interno com exit em assembler… sem escrever assembler.”


🔍 Curiosidades que todo coboleiro vai amar

🧩 1. NumPy evita loops como você evita GO TO

Loops em Python são lentos.

NumPy resolve isso com operações vetoriais:

a = np.array([1,2,3])
b = np.array([4,5,6])

print(a + b)

Resultado:

[5 7 9]

👉 Isso é equivalente a um loop automático altamente otimizado.


🧠 2. Broadcasting: o PERFORM invisível

a = np.array([1,2,3])
print(a + 10)

Resultado:

[11 12 13]

Sem loop. Sem stress.

👉 O NumPy “espalha” o valor automaticamente.


🏎️ 3. Memória contígua = performance absurda

Diferente de listas Python, NumPy usa:

  • memória contínua
  • tipos fixos

👉 Isso lembra:

  • buffers de I/O
  • áreas de WORKING-STORAGE bem definidas

🧪 Exemplos práticos (modo COBOL mindset ON)

📊 Soma de um dataset

COBOL:

PERFORM VARYING I FROM 1 BY 1 UNTIL I > 100
ADD VALOR(I) TO TOTAL
END-PERFORM

NumPy:

np.sum(array)

💥 1 linha. Otimizado. Vetorizado.


📈 Média (sem reinventar roda)

np.mean(array)

👉 Nada de controle manual. Nada de variáveis acumuladoras.


🔄 Transformação em massa

array * 1.15

👉 Isso é literalmente um:

“REDEFINES aplicado em lote com COMPUTE automático”


🧠 Easter Eggs e detalhes escondidos

🥚 1. O tipo float64 é padrão

👉 Isso significa precisão alta — quase como trabalhar com campos bem definidos no COBOL financeiro.


🥚 2. Você pode acessar o “layout de memória”

array.strides

👉 Sim… você pode ver como os dados estão distribuídos na memória.

Isso é nível:

“debug de storage layout no mainframe”


🥚 3. NumPy conversa com C diretamente

👉 Isso permite integrar com código de baixo nível.

Ou seja:

Python vira quase um “COBOL com superpoderes científicos”


⚔️ NumPy vs Python puro (visão mainframe)

AspectoPython puroNumPy
PerformanceBaixaAltíssima
TipagemDinâmicaEstática (dtype)
MemóriaFragmentadaContígua
LoopManualVetorizado
EstiloScriptCientífico / batch-like

🌍 Onde isso entra na sua evolução?

Se você domina COBOL, NumPy é uma ponte natural para:

  • 📊 Data Science
  • 🤖 Machine Learning
  • 📈 Analytics de alto volume
  • 🧮 Simulações financeiras

E mais importante:

👉 Você não começa do zero
👉 Você reaproveita seu mindset de performance


🎯 Conclusão: o despertar do coboleiro moderno

NumPy não é só uma biblioteca.

É uma mudança de paradigma.

É quando você percebe que:

“O Python pode ser tão performático quanto um batch bem escrito — se você usar as ferramentas certas.”

E aqui vai a provocação final:

🔥 Se COBOL é o rei do processamento estruturado…
🔥 NumPy é o motor matemático que pode levar você além do mainframe.


segunda-feira, 5 de fevereiro de 2018

segunda-feira, 14 de abril de 2014

🎯 O guia mínimo que separa curiosos de verdadeiros Data Scientists

 

Bellacosa Mainframe apresenta Python na Ciencia de Dados

🎯 O guia mínimo que separa curiosos de verdadeiros Data Scientists

Python é a principal linguagem utilizada em Data Science, permitindo transformar grandes volumes de dados em insights valiosos para negócios e pesquisa. 

Com bibliotecas essenciais como NumPy, Pandas, Matplotlib, Seaborn e Scikit-learn, é possível realizar todo o ciclo analítico: carregamento, limpeza, exploração, visualização e modelagem de dados.

O Pandas oferece DataFrames poderosos para manipulação eficiente de informações, enquanto o NumPy garante cálculos vetorizados de alta performance. Ferramentas de visualização ajudam a identificar padrões, tendências e outliers, fundamentais para a análise exploratória. Já o Scikit-learn possibilita a criação de modelos de Machine Learning para previsões e classificações. 

Esse ecossistema torna Python indispensável em áreas como finanças, marketing, saúde, engenharia e Big Data. Aprender esses fundamentos é o primeiro passo para atuar como cientista de dados, analista ou engenheiro de dados, acompanhando a crescente demanda por profissionais capazes de extrair valor estratégico a partir dos dados.

🐍🔥 Cheatsheet Python para Data Science

🧠 Stack Essencial

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

👉 90% dos projetos começam assim.


📊 NumPy — Matemática Vetorizada (Base de Tudo)

Criar arrays

a = np.array([1, 2, 3])
b = np.zeros(5)
c = np.ones((2,3))
d = np.arange(0,10)
e = np.linspace(0,1,5)

Operações vetoriais

a * 2
a + b
np.sqrt(a)
np.mean(a)
np.sum(a)

👉 Sem loops → extremamente rápido.


📚 Pandas — DataFrames (o coração da Data Science)

Criar DataFrame

df = pd.DataFrame({
"nome": ["Ana", "João"],
"idade": [25, 30]
})

Ler arquivos

pd.read_csv("dados.csv")
pd.read_excel("dados.xlsx")
pd.read_json("dados.json")

Visualização inicial

df.head()
df.tail()
df.info()
df.describe()
df.shape
df.columns

👉 Primeiros comandos após carregar dados.


🔎 Seleção de dados

Coluna

df["idade"]

Múltiplas colunas

df[["nome", "idade"]]

Filtro

df[df["idade"] > 25]

Filtro múltiplo

df[(df["idade"] > 25) & (df["cidade"] == "SP")]

✏️ Modificação de dados

Nova coluna

df["idade_futura"] = df["idade"] + 5

Remover coluna

df.drop("idade", axis=1)

Valores ausentes

df.isna()
df.dropna()
df.fillna(0)

📈 Agrupamento (Group By)

df.groupby("cidade")["salario"].mean()

👉 Essencial para análise exploratória.


🔄 Ordenação

df.sort_values("idade")
df.sort_values("idade", ascending=False)

📊 Estatísticas rápidas

df.mean()
df.median()
df.std()
df.min()
df.max()
df.corr()

📉 Visualização com Matplotlib

Linha

plt.plot(df["idade"])
plt.show()

Histograma

plt.hist(df["idade"])
plt.show()

Scatter

plt.scatter(df["idade"], df["salario"])
plt.show()

🎨 Seaborn — Gráficos bonitos por padrão

sns.histplot(df["idade"])
sns.boxplot(x=df["idade"])
sns.scatterplot(x="idade", y="salario", data=df)

🧹 Limpeza de dados

Remover duplicatas

df.drop_duplicates()

Converter tipos

df["idade"] = df["idade"].astype(int)

Datas

df["data"] = pd.to_datetime(df["data"])
df["ano"] = df["data"].dt.year

🤖 Machine Learning básico (Scikit-Learn)

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

Dividir treino/teste

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

Treinar modelo

model = LinearRegression()
model.fit(X_train, y_train)

Previsão

pred = model.predict(X_test)

🧠 Pipeline mental da Data Science

1️⃣ Carregar dados
2️⃣ Explorar
3️⃣ Limpar
4️⃣ Transformar
5️⃣ Visualizar
6️⃣ Modelar
7️⃣ Avaliar


⚡ Truques poderosos

Aplicar função em coluna

df["log_salario"] = np.log(df["salario"])

Apply personalizado

df["categoria"] = df["idade"].apply(
lambda x: "Adulto" if x >= 18 else "Menor"
)

Amostra aleatória

df.sample(5)

Contagem de valores

df["cidade"].value_counts()

💾 Exportar dados

df.to_csv("saida.csv", index=False)
df.to_excel("saida.xlsx")

🔥 Ferramentas mais usadas na indústria

🐍 Python
📊 Pandas
⚡ NumPy
📈 Matplotlib / Seaborn
🤖 Scikit-Learn
🧠 TensorFlow / PyTorch
☁️ Spark / Databricks


☕ Frase de cientista de dados

👉 “Sem Pandas, Python é só uma linguagem.
Com Pandas, vira uma ferramenta de descoberta.”

quinta-feira, 11 de abril de 2013

☕🔥O Dia em que o Mainframe Aprendeu Big Data — e o Mundo Percebeu que Sempre Foi Assim


 

☕🔥 “O Dia em que o Mainframe Aprendeu Big Data — e o Mundo Percebeu que Sempre Foi Assim”

Apache Spark no z/OS: quando a inteligência vai até o cofre

Durante anos venderam a ideia de que Big Data nasceu fora do mainframe.

Hadoop. Cloud. Clusters baratos. Data Lakes infinitos.

Enquanto isso, silenciosamente, o IBM Z continuava processando:

  • Transações globais

  • Sistemas bancários

  • Seguros

  • Cartões

  • Governos inteiros

Então veio um momento histórico:

E se o motor de analytics moderno rodasse dentro do mainframe?

Nascia o Spark no z/OS.


🧠 O que é o Apache Spark (de verdade)

Ele revolucionou o processamento distribuído porque:

  • Trabalha em memória (in-memory computing)

  • Executa pipelines complexos via DAG

  • Suporta SQL, streaming e machine learning

  • Escala horizontalmente

Hoje é um dos pilares da engenharia de dados moderna.

Mas sua verdadeira transformação começou quando encontrou o mainframe.


🏛 Quando Spark encontrou o z/OS

O z/OS é o sistema operacional que roda nos computadores mais resilientes já construídos.

No mundo real, os dados mais valiosos vivem aqui:

  • Db2 for z/OS

  • IMS

  • CICS

  • VSAM

  • SMF

  • Logstreams

Mover esses dados para fora sempre foi caro, lento e arriscado.

Spark no z/OS muda o paradigma:

Não leve o dado ao analytics.
Leve o analytics ao dado.


📅 História e Release

A plataforma IBM z/OS Platform for Apache Spark foi anunciada oficialmente em 2016.

Foi um movimento estratégico da IBM para:

  • Modernizar analytics no mainframe

  • Integrar IA ao core transacional

  • Evitar exfiltração massiva de dados

  • Preparar o Z para a era Data-Driven

Foi também um reconhecimento implícito:

O mainframe nunca deixou de ser o maior data platform do mundo.


⚙️ Como o Spark roda no z/OS

Spark executa no z/OS via:

  • USS (Unix System Services)

  • JVM (Java é obrigatório)

  • Deployment Standalone

  • Processos distribuídos entre LPARs (Sysplex)

Arquitetura típica:

Master daemon → Cluster Manager
Slave daemon → Worker Node
Executors → Processamento paralelo
MDSS → Ponte para dados MVS

O MDSS (Mainframe Data Service for Apache Spark) é a peça secreta.

Sem ele, Spark só vê dados “tipo Linux”.
Com ele, enxerga o coração do z/OS.


🔐 A arma secreta: processar dados sem movê-los

Em ambientes distribuídos tradicionais:

  1. Extrai dados do mainframe

  2. Copia para Data Lake

  3. Processa

  4. Reimporta resultados

Cada passo aumenta:

  • Latência

  • Custos

  • Risco de vazamento

  • Complexidade operacional

Com Spark no z/OS:

O processamento acontece no mesmo ambiente seguro.

RACF, criptografia e auditoria continuam protegendo tudo.


🧩 O papel do MDSS

O Mainframe Data Service for Apache Spark permite acessar dados clássicos como:

  • VSAM

  • Sequential datasets

  • IMS

  • SMF

  • Logstream

Ele roda como started task, controlado por ISPF ou Data Service Studio.

Sem ele, Spark não entende formatos MVS.

Com ele, Spark enxerga décadas de história corporativa.


🚀 Funcionalidades herdadas do Spark padrão

z/OS Spark mantém praticamente todas as capacidades modernas:

✔ Spark SQL
✔ Machine Learning (MLlib)
✔ Graph processing (GraphX)
✔ Streaming
✔ Integração JDBC
✔ APIs REST
✔ Execução distribuída

A principal exceção histórica:

👉 Não suporta desenvolvimento em R.


🤝 Integração com programas tradicionais

Uma das features mais impressionantes:

Spark pode conversar com aplicações escritas em:

  • COBOL

  • PL/I

  • Assembler

  • Natural

Inclusive acessar dados e programas via CICS.

Isso cria um cenário único:

Machine Learning moderno dialogando com sistemas escritos há 40 anos — em produção global.


🧠 Curiosidades que pouca gente conta

🟡 O mainframe sempre foi Big Data

Antes de “Big Data” existir como buzzword, o Z já processava volumes gigantes.

🟡 zIIP pode reduzir custo do analytics

Workloads Java e analytics podem ser offloadados.

🟡 Parallel Sysplex = cluster de verdade

Sem SPOF, com disponibilidade absurda.

🟡 Segurança nativa imbatível

Copiar dados para fora frequentemente reduz segurança.


🥚 Easter Eggs arquiteturais

👉 Spark foi criado para clusters baratos distribuídos
👉 O IBM Z é o oposto: um supercomputador vertical

Quando os dois se encontram, surge algo raro:

Escala horizontal + potência vertical

É como colocar um motor de foguete num trem blindado.


🧠 Casos reais de uso

  • Fraud detection em tempo real

  • Análise de comportamento transacional

  • Capacity planning via SMF

  • Detecção de anomalias operacionais

  • Analytics regulatório

  • Scoring de crédito instantâneo


☕ Comentário Bellacosa

Durante anos disseram:

“Para inovar, saia do mainframe.”

Hoje a mensagem é outra:

“Se você quer inovar sem quebrar o core do negócio, traga a inovação para o mainframe.”

Spark no z/OS não é nostalgia.

É pragmatismo.


🎯 Conclusão

Apache Spark no z/OS representa algo maior do que tecnologia.

Representa uma mudança de mentalidade:

✔ O mainframe não é legado — é fundação
✔ Big Data não substitui o Z — complementa
✔ Segurança e analytics podem coexistir
✔ O futuro não é cloud ou mainframe — é híbrido


☕ Frase final de boteco mainframe

O mundo tentou levar os dados para a nuvem.

O IBM Z respondeu:

“Tragam a nuvem até mim.”