This tutorial walks you through setting up and building a Data Engineering & Machine Learning Platform. The tutorial is designed to explore many different technologies for the similar problems without any bias.
This is not a Production Ready Setup
Data Engineers, Machine Learning Engineer, Data Scientist, SRE, Infrastructure Engineer, Data Analysts, Data Analytics Engineer
- Kubernetes Kind Installation link
- MinIO Integrate Object Storage on top of Kubernetes and use minio interface for simulating the s3 link
- Apache Airflow on top of Kubernetes & Running an end to end Airflow Workflow using Kubernetes Executor link
- Apache Spark Deploy Apache Spark on Kubernetes and run an example link
- Prefect Setup & Running an end to end Workflow
- Dagster Setup & Running an end to end Workflow
- Set up an ETL job running end-2-end on apache airflow. This job contains Spark & Python Operator
- Apache Hive Setting up Hive & Hive Metastore
- Deploy Trino & Open Source Presto and run dana Analytics queries.
- Integrate Superset & Metabase to run visualization. Integrate Presto with the visualization system.
- Open Table Format using Delta
- Open Table Format using Apache Iceberg
- Open Table Format using Apache Hudi
- Metadata Management using Amundsen
- Metadata Management using Datahub
- Setting up Apache Kafka distributed event streaming platform
- Using Spark Structered Streaming to run an end-2-end pipeline over any realtime data sources
- Using Apache Flink to run an end-2-end pipeline over any realtime data sources
- Redpanda, streaming data platform to run similar workflow
- Airbyte Data Integration platform
- Talend UI based Data Integration
- DBT DBT Sql Pipeline to compare with Spark and other tech
- Debezium Change Data Capture using Debezium to sync multiple databases
- Grafana Setting Up Grafana for Monitoring components. Start with Monitoring Pods
- FluentD logging metrics from pods & interact the same with Monitoring layer
- Setting up a full Monitoring and Alerting Platform & integrate minitoring across other technologies
- Setting up an Observability system
- Setup Ray for Data Transformations
- Use Scikit-learn for an example ML training
- Setup Argo Pipeline for deploying ML Jobs
- Setup Flyte Orchestrator for pythonic Deployment
- Use Pytorch Lightening for runing ML training
- Use Tensorflow for running ML training
- Setup ML End-2-End Workflow on Flyte
- Deploy MLFlow for ML Model Tracking & Experimentation
- Deploy BentoML For deploying ML Model
- Deploy Sendon Core for ML Model Management
- Integrate MLflow with Seldon Core
- 🐳 Docker Installed
- kubectl Installed, The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters
- Lens Installed, UI for Kubernetes.
This is optional, kubectl is enough for getting all relevant stats from kubernetes cluster - Helm The package manager for Kubernetes
- Setting Up Kind
- Deleting older Pods PodCleaner