Genie 是 Netflix 開發的聯合大數據編排與執行引擎。
Genie 的價值最好用它解決的問題來描述。
大數據基礎設施非常複雜且不斷發展。
資料消費者(資料科學家或其他應用程式)需要跨越許多障礙才能執行簡單的查詢:
今天有效的方法,明天可能就無效了。叢集可能已移動,二進位檔案可能不再相容等。
將此開銷乘以資料使用者的數量,就會增加大量時間浪費(和悲傷!)。
數據基礎設施提供者面臨一系列不同的問題:
Genie 旨在位於這兩個世界的邊界,並簡化兩邊人們的生活。
資料科學家可以“擦一擦神燈”,然後說“Genie,使用 SparkSQL 引擎針對生產資料執行查詢“Q””。 Genie 負責處理所有細節。它動態地組裝必要的二進位和配置,執行作業,監視它,通知使用者其完成,並使輸出資料可供立即和將來使用。
大數據基礎設施供應商與 Genie 合作,提供可供使用的資源(叢集、二進位等),並插入使用者無需擔心的神奇邏輯:給定查詢應路由到哪個叢集?應該使用哪個版本的 Spark 來執行給定的查詢?是否允許該使用者存取該資料?此外,每個作業的詳細資訊都會被記錄下來,以便日後審核或除錯。
Genie 的設計非常靈活且可自訂。更多詳情請瀏覽官方文檔
Genie 建置在 Travis CI 上運行。
分支 | 建造 | 覆蓋範圍 (coveralls.io) |
---|---|---|
主控 (4.2.x) | ||
4.1.x | ||
4.0.x |
genie-app
獨立的 Genie 服務伺服器。
genie-agent-app
獨立的 Genie CLI 作業執行器。
genie-client
Genie 用戶端透過 REST API 與服務互動。
genie-web
主伺服器庫可以重新包裝以注入和覆蓋伺服器元件。
genie-agent
主代理程式庫可以重新包裝以注入和覆蓋元件。
genie-common
、 genie-common-internal
、 genie-common-external
伺服器、代理程式和客戶端模組共享的內部元件庫。
genie-proto
伺服器和代理程式共享 Protobuf 訊息和 gRPC 服務定義。這不是供其他客戶端使用的公共 API。
genie-docs
, genie-demo
文檔和演示應用程式。
genie-test
, genie-test-web
測試其他模組共享的類別和實用程式。
genie-ui
用於搜尋和視覺化作業、叢集、命令的 JavaScript UI。
genie-swagger
透過 Spring Fox 自動配置 Swagger。新增至伺服器的最終部署工件以啟用。
Genie 發佈到 Maven Central 和 Docker Hub
有關範例,請參閱文件的演示部分。並前往設定部分,以了解有關設定 Genie 的更多詳細說明。
Genie Python 用戶端託管在不同的儲存庫中。
有關 Genie 架構、用例、API 文件、演示、部署和自訂指南等的詳細說明,請造訪 Genie 文件。
若要聯絡 Genie 開發人員提出問題和建議,請使用 GitHub Issues