Alur penyerapan, ETL, dan pemrosesan aliran dengan Azure Databricks dan Delta Lake

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Azure Event Hubs

Ide solusi

Artikel ini adalah ide solusi. Jika Anda ingin kami memperluas konten dengan informasi lebih lanjut, seperti potensi kasus penggunaan, layanan alternatif, pertimbangan implementasi, atau panduan harga, beri tahu kami dengan memberikan umpan balik GitHub.

Organisasi Anda perlu menyerap data dengan format, ukuran, dan kecepatan apa pun ke cloud secara konsisten. Solusi dalam artikel ini memenuhi kebutuhan tersebut dengan arsitektur yang mengimplementasikan ekstrak, transformasi, dan muat (ETL) dari sumber data Anda ke data lake. Data lake dapat menyimpan semua data, termasuk versi yang diubah dan dikumpulkan pada berbagai skala. Data dapat digunakan untuk analitik data, kecerdasan bisnis (BI), pelaporan, ilmu data, dan pembelajaran mesin.

ApacheĀ® dan Apache Sparkā„¢ adalah merek dagang terdaftar atau merek dagang dari Apache Software Foundation di Amerika Serikat dan/atau negara lain. Tidak ada dukungan oleh The Apache Software Foundation yang tersirat oleh penggunaan tanda ini.

Arsitektur

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

Unduh file Visio arsitektur ini.

Aliran data

  1. Data diserap dengan cara berikut:

    • Antrean peristiwa seperti Event Hubs, IoT Hub, atau Kafka mengirim data streaming ke Azure Databricks, yang menggunakan Delta Engine yang dioptimalkan untuk membaca data.
    • Alur Data Factory terjadwal atau dipicu menyalin data dari berbagai sumber data dalam format mentah. Auto Loader di Azure Databricks memproses data saat tiba.
  2. Azure Databricks memuat data ke dalam tabel atau folder Delta Lake yang dioptimalkan dan terkompresi di lapisan Bronze di Data Lake Storage.

  3. Pekerjaan Azure Databricks streaming, terjadwal, atau dipicu membaca transaksi baru dari lapisan Bronze di Data Lake Storage. Pekerjaan menggabungkan, membersihkan, mengubah, dan mengumpulkan data sebelum menggunakan transaksi ACID untuk memuatnya ke dalam himpunan data yang dikuratori di lapisan Silver dan Gold di Data Lake Storage.

  4. Himpunan data disimpan di Delta Lake di Data Lake Storage.

Setiap layanan menyerap data ke dalam format umum untuk memastikan konsistensi. Arsitekturnya menggunakan data lake bersama berdasarkan format Delta Lake terbuka. Data mentah diserap dari berbagai sumber streaming dan batch untuk membentuk platform data terpadu. Platform ini dapat digunakan untuk kasus penggunaan hilir seperti analitik, pelaporan BI, ilmu data, AI, dan pembelajaran mesin.

Lapisan penyimpanan Bronze, Silver, dan Gold

Dengan pola medali, yang terdiri dari lapisan penyimpanan Bronze, Silver, dan Gold, pelanggan memiliki akses fleksibel dan pemrosesan data yang dapat diperluas.

  • Tabel Bronze berisi titik entri data mentah saat mendarat di Data Lake Storage. Data diambil dalam format sumber mentah dan dikonversi menjadi format Delta Lake terbuka dan transaksional untuk diproses. Solusi ini menyerap data ke dalam lapisan Perunggu dengan menggunakan:
    • Apache Spark API di Azure Databricks. API membaca peristiwa streaming dari Azure Event Hubs atau IoT Hub, lalu mengonversi peristiwa atau file mentah tersebut menjadi format Delta Lake.
    • Perintah COPY INTO. Gunakan perintah ini untuk menyalin data langsung dari file sumber atau direktori ke Delta Lake.
    • Azure Databricks Auto Loader. Auto Loader mengambil file saat file tiba di data lake dan menulisnya ke format Delta Lake.
    • Aktivitas Penyalinan Data Factory. Pelanggan dapat menggunakan opsi ini untuk mengonversi data dari salah satu format yang didukung menjadi format Delta Lake.
  • Tabel Silver menyimpan data saat sedang dioptimalkan untuk BI dan kasus penggunaan ilmu data. Lapisan Bronze menyerap data mentah, dan kemudian lebih banyak tugas pemrosesan ETL dan aliran dilakukan untuk memfilter, membersihkan, mengubah, menggabungkan, dan mengumpulkan data menjadi himpunan data yang dikuratori Silver. Perusahaan dapat menggunakan mesin komputasi yang konsisten, seperti Delta Engine standar terbuka, saat menggunakan Azure Databricks sebagai layanan awal untuk tugas-tugas ini. Mereka kemudian dapat menggunakan bahasa pemrograman yang sudah dikenal seperti SQL, Python, R, atau Scala. Perusahaan juga dapat menggunakan proses DevOps yang berulang dan kluster komputasi sementara yang ukurannya disesuaikan dengan setiap beban kerja.
  • Tabel Gold berisi data yang diperkaya, siap untuk analitik, dan pelaporan. Analis dapat menggunakan metode pilihan mereka, seperti PySpark, Koalas, SQL, Power BI, dan Excel untuk mendapatkan wawasan baru dan merumuskan kueri.

Komponen

  • Azure Event Hubs mengurai dan menilai pesan streaming dari berbagai sumber, termasuk sistem lokal, dan menyediakan informasi real-time.
  • Data Factory mengatur alur data guna penyerapan, persiapan, dan transformasi semua data dalam skala apa pun.
  • Data Lake Storage menggabungkan data streaming dan batch, termasuk data terstruktur, tidak terstruktur, dan semi-terstruktur seperti log, file, dan media.
  • Azure Databricks membersihkan dan mengubah himpunan data tanpa struktur dan menggabungkannya dengan data terstruktur dari database operasional atau gudang data.
  • IoT Hub memberi Anda komunikasi yang sangat aman dan andal antara aplikasi dan perangkat IoT Anda.
  • Delta Lake di Data Lake Storage mendukung transaksi ACID untuk keandalan dan dioptimalkan untuk penyerapan, pemrosesan, dan kueri yang efisien.

Detail skenario

Pemrosesan aliran, ETL, dan penyerapan dengan Azure Databricks mudah, terbuka, dan kolaboratif:

  • Sederhana: Data lake terbuka dengan lapisan yang dikumpulkan dalam format sumber terbuka menyederhanakan arsitektur data. Delta Lake, alat sumber terbuka, menyediakan akses ke data lake Azure Data Lake Storage. Delta Lake di Data Lake Storage mendukung transaksi atomisitas, konsistensi, isolasi, dan durabilitas (ACID) untuk keandalan. Delta Lake dioptimalkan untuk penyerapan, pemrosesan, dan kueri yang efisien.
  • Terbuka: Solusi ini mendukung kode sumber terbuka, standar terbuka, dan kerangka kerja terbuka. Layanan ini juga bekerja dengan lingkungan pengembangan terintegrasi populer (IDE), pustaka, dan bahasa pemrograman. Melalui konektor native dan API, solusi ini bekerja dengan berbagai layanan lain juga.
  • Kolaboratif: Teknisi data, ilmuwan data, dan analis bekerja sama dengan solusi ini. Mereka dapat menggunakan buku catatan kolaboratif, IDE, dasbor, dan alat lain untuk mengakses dan menganalisis data dasar umum.

Azure Databricks terintegrasi dengan lancar dengan layanan Azure lainnya seperti Data Lake Storage, Azure Data Factory, Azure Event Hubs, dan Azure IoT Hub.

Kemungkinan kasus penggunaan

Solusi ini terinspirasi oleh sistem yang dibangun Providence Health Care untuk analitik real-time. Setiap industri yang menyerap data batch atau streaming juga dapat mempertimbangkan solusi ini. Contohnya meliputi:

  • Ritel dan e-niaga
  • Finance
  • Layanan kesehatan dan ilmu hayat
  • Pemasok energi

Langkah berikutnya

  • Spanish Point Technologies membangun Matching Engine menggunakan Azure Databricks dan Azure Data Factory untuk menyerap data dalam skala besar untuk membantu musisi dibayar secara adil.

Panduan dan arsitektur yang dapat disebarkan sepenuhnya: