Genie adalah mesin orkestrasi dan eksekusi Big Data gabungan yang dikembangkan oleh Netflix.
Nilai Genie paling baik digambarkan dalam kaitannya dengan masalah yang dipecahkannya.
Infrastruktur Big Data bersifat kompleks dan terus berkembang.
Konsumen data (Ilmuwan Data atau aplikasi lain) perlu melewati banyak rintangan untuk menjalankan kueri sederhana:
Apa yang berhasil hari ini, belum tentu berhasil besok. Cluster mungkin telah berpindah, biner mungkin tidak lagi kompatibel, dll.
Kalikan overhead ini dengan jumlah konsumen data, dan ini akan menambah banyak waktu yang terbuang (dan sayangnya!).
Penyedia infrastruktur data menghadapi serangkaian masalah berbeda:
Genie dirancang untuk duduk di perbatasan dua dunia ini, dan menyederhanakan kehidupan orang-orang di kedua sisi.
Seorang ilmuwan data dapat “menggosok lampu ajaib” dan hanya mengatakan “Genie, jalankan kueri 'Q' menggunakan mesin SparkSQL terhadap data produksi”. Genie mengurus semua detail seluk beluknya. Ini secara dinamis merakit biner dan konfigurasi yang diperlukan, menjalankan pekerjaan, memantaunya, memberi tahu pengguna tentang penyelesaiannya, dan membuat data keluaran tersedia untuk penggunaan segera dan di masa depan.
Penyedia infrastruktur Big data bekerja dengan Genie dengan menyediakan sumber daya untuk digunakan (cluster, binari, dll) dan memasukkan logika ajaib yang tidak perlu dikhawatirkan oleh pengguna: ke cluster mana kueri tertentu harus dialihkan? Versi percikan manakah yang harus digunakan untuk mengeksekusi kueri tertentu? Apakah pengguna ini diperbolehkan mengakses data ini? dll. Selain itu, setiap detail pekerjaan dicatat untuk audit atau debugging nanti.
Genie dirancang dari awal agar sangat fleksibel dan dapat disesuaikan. Untuk lebih jelasnya kunjungi dokumentasi resmi
Build Genie dijalankan di Travis CI di sini.
Cabang | Membangun | Cakupan (coveralls.io) |
---|---|---|
menguasai (4.2.x) | ||
4.1.x | ||
4.0.x |
genie-app
Server layanan Genie mandiri.
genie-agent-app
Pelaksana pekerjaan Genie CLI mandiri.
genie-client
Klien Genie berinteraksi dengan layanan melalui REST API.
genie-web
Pustaka server utama, dapat dibungkus ulang untuk menyuntikkan dan mengganti komponen server.
genie-agent
Pustaka agen utama, dapat dibungkus ulang untuk memasukkan dan mengganti komponen.
genie-common
, genie-common-internal
, genie-common-external
Pustaka komponen internal yang digunakan bersama oleh modul server, agen, dan klien.
genie-proto
Pesan Protobuf dan definisi layanan gRPC dibagikan oleh server dan agen. Ini bukan API publik yang dimaksudkan untuk digunakan oleh klien lain.
genie-docs
, genie-demo
Dokumentasi dan aplikasi demo.
genie-test
, genie-test-web
Menguji kelas dan utilitas yang dibagikan oleh modul lain.
genie-ui
JavaScript UI untuk mencari dan memvisualisasikan pekerjaan, cluster, perintah.
genie-swagger
Konfigurasi otomatis Swagger melalui Spring Fox. Tambahkan ke artefak penerapan akhir server untuk mengaktifkan.
Genie menerbitkan ke Maven Central dan Docker Hub
Lihat bagian demo dokumentasi untuk contohnya. Dan ke bagian pengaturan untuk instruksi lebih rinci untuk mengatur Genie.
Klien Genie Python dihosting di repositori berbeda.
Untuk penjelasan mendetail tentang arsitektur Genie, kasus penggunaan, dokumentasi API, demo, panduan penerapan dan penyesuaian, dan banyak lagi, kunjungi dokumentasi Genie.
Untuk menghubungi pengembang Genie jika ada pertanyaan dan saran, silakan gunakan Masalah GitHub