Visão Geral
O curso Dask Fundamentals é projetado para introduzir os fundamentos do Dask, uma poderosa biblioteca de computação paralela e distribuída para Python. Ele permite que você execute operações em grandes volumes de dados e utilize recursos de computação distribuída para escalar programas em um ambiente local ou em clusters. Durante o curso Dask Fundamentals, você aprenderá como o Dask amplia bibliotecas como pandas, NumPy e scikit-learn, facilitando o processamento de dados massivos e a execução de tarefas computacionalmente intensivas.
Conteúdo Programatico
Módulo 1: Introdução ao Dask
- O que é Dask e por que usá-lo?
- Comparação entre Dask, pandas e Spark.
- Arquitetura de Dask: grafos de tarefas e paralelismo.
- Instalação e configuração do ambiente Dask.
- O Dask Dashboard: monitoramento de tarefas e clusters.
Módulo 2: Dask Collections: Arrays, DataFrames e Bags
- Introdução às coleções do Dask.
- Dask Arrays: manipulação de grandes arrays multidimensionais.
- Dask DataFrames: escalando operações pandas com Dask.
- Dask Bags: processamento de dados semi-estruturados e não estruturados.
- Comparação de desempenho entre operações com Dask e pandas/NumPy.
Módulo 3: Operações Paralelas em Dask
- Fundamentos da computação paralela.
- Como Dask divide e distribui o trabalho.
- Execução de operações paralelas em grandes datasets.
- Controlando o número de workers e threads.
- Casos práticos: Operações em grande escala com Dask DataFrames.
Módulo 4: Integração de Dask com pandas, NumPy e scikit-learn
- Integração do Dask com bibliotecas populares de manipulação de dados.
- Operações pandas com Dask DataFrames.
- Computação científica com Dask Arrays e NumPy.
- Machine learning escalável com Dask e scikit-learn.
- Exemplo prático: Treinamento de modelos de machine learning com Dask.
Módulo 5: Processamento Distribuído e Escalabilidade com Dask
- Noções básicas sobre clusters distribuídos.
- Configuração de um cluster Dask em uma máquina local.
- Configuração de um cluster Dask em nuvem (AWS, GCP, Azure).
- Distribuição de tarefas e escalabilidade automática.
- Exemplo prático: Execução de tarefas distribuídas em um cluster Dask.
Módulo 6: Monitoramento e Otimização de Performance
- Dask Dashboard: Monitoramento e diagnóstico de tarefas.
- Ferramentas para monitoramento de performance.
- Identificação e solução de gargalos de desempenho.
- Dicas de otimização de código para computação distribuída.
- Exemplo prático: Melhorando a eficiência de um pipeline de dados com Dask.
Módulo 7: Implementando Fluxos de Trabalho com Dask Delayed e Futures
- Introdução a Dask Delayed: paralelizando funções arbitrárias.
- Criando grafos de tarefas personalizados com Dask.
- Dask Futures: Computação assíncrona e distribuída.
- Exemplo prático: Criação de um pipeline de dados customizado com Dask Delayed.
Módulo 8: Casos Práticos e Aplicações de Dask
- Aplicações reais de Dask em ciência de dados.
- Exemplo prático: Processamento de grandes datasets de séries temporais.
- Exemplo prático: Processamento de dados massivos em um ambiente de produção.
- Exercícios práticos: Resolução de problemas e desafios com Dask.