我們很高興向大家介紹 JMP 在 Soitec 資料環境中扮演的重要角色。我們公司擁有 600 多名用戶,因此,如何提升用戶體驗並實現部署在 JMP 上的產品的工業化應用始終是一項挑戰。
如今,JMP 可以針對許多資料來源,但從 AWS 服務收集資料仍然可能過於複雜。
從 JMP 15 開始,得益於 Python 集成,我們得以進一步擴展 JMP 的功能。我們內部驗證了一系列自訂程式庫(包括 S3、Athena 和 RDS),這些程式庫使我們能夠針對最終使用者所需的 AWS 服務進行開發。如今,JMP 18 內建了與 Python 的集成,架構管理變得更加輕鬆。
在本演示中,我們將更詳細地解釋 JMP 在我們的資料工程流程中扮演的角色,以及我們如何從 Python 與 JMP 18 的整合中獲得更多益處。

大家好。今天我們非常高興能在這裡向大家展示我們的海報。海報將介紹 JMP 與 AWS 服務的整合。我是 Yacine Belamiri,目前在 Soitec 擔任資料工程師。
我是 Guillaume Bugnon,也是 Soitec 的資料工程師。今天我們將向大家介紹這款海報。 JMP 支援多種資料來源,並可直接匯入 Excel、JSON 甚至 PDF 檔案等原生格式的資料。 JMP 也可以透過 ODBC 原生連線連接到許多資料庫,但這有時還不夠。為什麼呢?因為如今,雲端運算以及 Azure、AWS 或 Google 等雲端服務在我們的產業乃至所有產業中都得到了越來越廣泛的應用,並已成為公司資料架構的一部分。在某些情況下,JMP 使用者需要存取現有的資料;而在其他情況下,我們則需要開發一些 GSL 特定的連接器。
這張海報的目標是什麼?首先要說明的是,從 JMP 15 開始,我們引入了 Python 集成,透過在用戶電腦上同時部署 JMP 和 Python 來擴展 JMP 的功能。這帶來了什麼好處呢?它使我們能夠創建 JMP 庫,這些庫本質上是一組 GSL 函數,專門用於 AWS 服務或其他 JMP 本身無法處理的場景。我們擁有 600 多名用戶,因此我們需要管理這些部署,以便方便所有用戶使用此連接,並確保我們的開發人員使用相同的程式碼。
從 JMP 18 開始,JMP 讓 Python 整合的管理變得更加容易,並移除了我們先前使用的依賴項,從而可以更快、更容易地安裝 JMP,只需使用 Python 安裝 JMP 並原生使用它即可。
我們這樣做是為了提升使用者體驗,簡化他們存取資料的過程。我們可以預先準備數據,並在企業層面進行儲存和驗證。此外,目前在 Soitec,我們已經將 JMP 驗證為我們資料工程流程中的重要步驟,因此,當我們需要出於統計目的公開資料時,我們會使用 JMP。
我們是如何做到的?這裡簡單畫個圖,說明一下我們的工作流程。首先,我們用 Python 創建了一些通用函式庫。這些函式庫可以連接到 AWS 等平台,包含一些 JMP 中沒有的統計功能,或是添加一些我們覺得更吸引人、更有趣等等的圖表。這是第一步。
接下來,我們會從 JSL 函式庫中呼叫這些 Python 函式庫。我們希望 JSL 開發人員之後使用這個 JSL 函式庫。這部分程式碼已經過內部驗證,也經過我們 IT 部門的驗證,之後大家都可以使用相同的程式碼。最後,Soitec 認證後,我認為可以呼叫 GSL 函式庫,並為使用者提供一種非常簡單的資料連接方式。
如果用簡單的符號來更詳細地描述,我們會得到這樣的架構。我們有Yacine剛才提到的三個不同的模組。假設我是一名作業開發人員,我想連接儲存在AWS伺服器S3儲存桶中的提取資料。首先,我需要呼叫庫路徑和Python庫JSL,然後我只需要使用我的函數。可以看到,只需四行程式碼,我就可以輕鬆存取儲存在AWS S3上的檔案。但是,這樣做在初期需要一些成本。我們還需要開發另外兩個模組,紅色模組和黑色模組。
首先,假設這個應用程序,我們稱為 Python 函式庫,這裡我們導入這個 Python 函式庫。沒錯。這就像一些積木。我們有綠色、黑色和藍色的積木。我們來示範一下。抱歉。我們打開 JMP。就在這裡。非常簡單。我們新增日誌。我只需要導入我的 Python GSL 庫。你可以看到,在這個 Python GSL 函式庫中,我們有不同的函數,這裡有兩個。
然後我就可以直接說我想打開資料包檔案。 Parquet 是一種非原生文件格式,JMP 目前無法識別,但用 Python 可以開啟封包文件,所以沒問題。我只需要指定要開啟的封包文件,例如 John 發現的那個包含子儲存桶、文件名稱和位址區域的封包文件,這樣就可以了。我需要建立一個新的數據視圖,這樣更簡單快捷,而且我能夠取得到數據,然後就可以用 JMP 進行分析了。
另一種方法也類似,但我們同樣使用同一個函式庫來取得一些金鑰。密鑰可以是連接資料庫的密碼或憑證等等。庫中也提供了這個函數,可以很輕鬆地取得這個序列。我的金鑰是 dev gem discovery at the respect,然後我可以列印出金鑰,我們可以看到金鑰的值是什麼。
另一個更實際的應用案例是,我們在 Soitec 就有一個這樣的應用。我們的應用程式能夠連接到 AWS RDS 資料庫來取得聚合資料。該應用程式還能連接到 AWS S3 來取得以資料包格式儲存的原始資料。
由於 Python 和 GSL 庫的發展,我們可以輕鬆連接到資料庫和 S3 儲存桶,然後使用 JMP 進行所有統計計算。這可以是 SPC 圖表,也可以是 CPK 的能力指標等等。之後,我們會獲得聚合資料和原始資料。完成這些步驟後,您就會知道我們能夠進行一些資料探勘和資料分析。
我們已經介紹瞭如何存取 S3 上的資料。結論是,如今將 Python 整合到 JMP 中以存取 AWS 帶來了許多好處。它增強了功能和效率。 Python 函式庫讓與任何服務互動都更加便捷。在我們的範例中,我們展示了 AWS,但它也適用於任何其他非 JMP 原生支援的服務。我們使用了 S3、DynamoDB 和 Secret Manager 等 AWS 服務進行示範,因為這些服務正是 Soitec 目前使用的工具。
從 JMP 18 開始,我們與 Python 的整合降低了複雜性,節省了時間。以前我們需要自行部署 Python 庫和安裝 Python,而現在 Python 讓我們能夠完成所有工作,確保我們可以存取所有數據,並使最終用戶能夠專注於分析而非數據收集。 Python 和 JMP 的結合為高效的資料決策創造了強大的協同效應。
在即將發布的 JMP 版本中,我們將引入 jmputils Python 程式庫。這將為 JMP 和 Python 之間的互動提供一種全新的方式,我們非常期待了解如何使用它,以及它將如何為我們帶來更佳的體驗:在 Python 中運行所有程序,並將其準備好供 JMP 使用。說實話,我們非常期待這個版本的發布。
謝謝。以上就是我們的全部內容。您可以觀看我們公司的簡要介紹,以了解我們的業務範圍和核心業務。
謝謝。
謝謝。