Apache Hop新執行資訊記錄平臺

banq發表於2022-11-01

分析和審計工作流對於大規模運算元據管道至關重要。過去,我嘗試使用“airflow.log”表和“profiling”功能來實現相同的目的。令人驚訝的是,Airflow 配置檔案和日誌表並沒有廣泛流行。我很高興看到 Apache Hop 將其新增為與資訊日誌框架的整合功能。

為什麼要記錄執行資訊?
執行資訊記錄是Apache Hop 2.1.0 版本中的主要新特性之一。什麼是執行資訊日誌記錄,它對 Apache Hop 使用者有何幫助?
開發工作流和管道是成功資料專案的一個重要方面。但是,任何資料專案的目標都是部署到生產環境並重復正確地處理資料。
Apache Hop 可以幫助您確保您的資料工作流和管道完全做到這一點:專注於您想要處理資料的方式,而不是如何透過視覺化設計,透過單元測試驗證您的資料是否完全按照您想要的方式處理,管理您的透過程式碼(專案)和配置(環境)的分離來實現專案的生命週期。
所有這些操作都可以讓您主動工作:視覺化設計可以讓您構建易於理解的管道,專案和環境可以幫助您快速輕鬆地部署到多個環境,單元測試可以讓您針對您知道或預期的問題場景構建測試。
雖然主動工作非常好,而且絕對必要,但也不能忽視被動地找出正在發生的事情。在 Apache Hop 中基本的日誌記錄和監控已經成為可能,但是 2.1.0 有了一個重大飛躍,引入了一個新的執行資訊和資料分析平臺。
找出工作流和管道執行期間發生的事情對於瞭解資料如何在專案中流動至關重要。新的執行資訊平臺正是這樣做的。

如何運作?
顧名思義,執行資訊記錄允許 Hop 使用者儲存工作流和管道執行資訊,但還有更多。 其實還有很多。讓我們仔細看看。
新的工作流和管道執行平臺將實際的工作流或管道執行與執行它的客戶端(Hop Gui、hop-run、Hop Server)分離。例如,您現在可以透過 hop-run 在遠端伺服器上啟動管道,並透過 Hop Gui 跟進其進度。
執行資訊和資料分析為您的 Apache Hop 安裝新增了各種新的後設資料項和後設資料選項:

  • 後設資料透檢視中的 2 種新後設資料型別:
  • 執行資料配置檔案允許您配置要使用的多個資料取樣器。可用的取樣器讓您指定第一行、最後一行或隨機行,並讓您配置分析:包括最小值、最大值、空值等
  • 執行資訊位置可讓您配置要收集執行資訊的位置和延遲、間隔和行大小。當前支援的位置是本地檔案系統或遠端 Hop 伺服器和 Neo4j 圖形資料庫上的資料夾。
  • Pipeline 和 Workflow Run Configurations 現在有新的選項來配置我們剛剛討論的執行資料配置檔案和資訊位置:
  • 執行資訊位置(工作流程和管道):選擇執行資訊位置,如後設資料透檢視中指定的那樣(請參閱上面的後設資料型別)
  • 執行資料配置檔案(僅限管道):與此管道執行配置一起使用的執行資料配置檔案。
  • 全新的執行資訊透檢視允許您探索以前的工作流和管道執行。此透檢視可讓您詳細調查工作流或管道的先前執行情況,包括使用的引數和變數、執行時間、資料配置檔案等。該透檢視還允許您從給定的工作流或管道向上或向下鑽取到其父級或子項。所有執行資訊都可用,因為它在執行期間在 Hop 的內部。
  • 新的執行資訊 轉換可讓您回讀以前收集的執行資訊以進行進一步分析。


執行資訊演練
我們將介紹在本地系統上捕獲執行資訊和資料分析的基本步驟,並在一些執行後探索結果。
如前所述,我們將首先為執行資訊位置和執行資料配置檔案建立後設資料項。
執行資訊位置後設資料型別採用幾個引數:

  • Name:此執行資訊位置的名稱。此名稱將用於指代此位置。
  • 描述:用於此執行資訊位置的描述
  • 資料記錄延遲(毫秒):此延遲決定了 Hop 在開始寫入記錄資訊之前將等待多長時間(以毫秒為單位)。
  • 資料記錄間隔(毫秒):此間隔確定在寫入下一組記錄資訊之前 Hop 將等待多長時間(以毫秒為單位)
  • 資料記錄大小(行):
  • 位置型別:執行資訊要麼記錄在本地檔案系統上,要麼傳送到遠端伺服器。
  • 檔案位置是您的執行資訊將作為一組 JSON 檔案儲存在其中的根資料夾,每次執行都儲存在一個雜湊資料夾中。
  • 如果您選擇Remote Location,則需要指定 Hop Server 和該伺服器上的執行資訊位置。伺服器上此遠端執行資訊位置的配置將確定您的執行日誌將寫入的位置。

要配置我們的基本執行日誌記錄,請轉到後設資料透檢視,右鍵單擊並在“執行資訊位置”上選擇“新建”,然後輸入以下引數:執行日誌作為名稱,檔案位置作為位置型別和“$ {PROJECT_HOME}/logging/execution-logging”作為根資料夾。


Apache Hop新執行資訊記錄平臺


建立資料配置檔案類似:右鍵單擊後設資料透檢視中的“執行資料配置檔案”,然後點選“新建”。在下面的示例中為您的資料配置檔案命名為“local-data-profile”,然後新增您需要的取樣器。我們在下面的示例中新增了所有可用的取樣器,並帶有預設選項。

Apache Hop新執行資訊記錄平臺


我們需要做的最後一件事是在管道和工作流執行配置中啟用執行日誌記錄和資料分析。在本示例中,我們將使用 Hop 的本機引擎,但相同的配置選項可用於任何受支援的 Beam 管道引擎。

開啟您的本地執行配置設定(右鍵單擊 -> 編輯或雙擊)並選擇我們剛剛建立的執行資訊位置和執行資料配置檔案。您的工作流執行配置設定類似,唯一的區別是資料分析不適用於工作流執行配置。

Apache Hop新執行資訊記錄平臺


您現在已準備好開始收集日誌記錄資訊和資料分析資訊。執行多個工作流和管道後,您將在配置的資料夾中獲得執行日誌記錄和資料分析資訊。
切換到 Execution Information 透檢視以探索您剛剛捕獲的資訊。
在此示例中,我們從示例專案中執行了幾個管道:

Apache Hop新執行資訊記錄平臺


執行資訊提供了大量資訊:
工作流或管道檢視允許您向上或向下鑽取到父或子管道或工作流。選擇一個動作或轉換並點選向上或向下鑽取圖示以轉到父級或子級執行。向上和向下鑽取按鈕左側的箭頭按鈕可將您直接帶到工作流或管道編輯器。

Apache Hop新執行資訊記錄平臺


在透檢視的下半部分,您會找到 Info、Log、metrics(僅限管道)和 data 選項卡:

  • Info包含有關您的工作流或管道執行的執行資訊:除了名稱、ID 和父級(如果可用)之外,您還可以找到開始和結束日期及其狀態。
  • 日誌包含工作流或管道的完整日誌輸出
  • 指標(僅限管道)包含為管道中的特定轉換收集的指標
  • 資料包含所選轉換或操作的分析資料。

即使您永遠不需要更改甚至直接查閱原始執行或分析資料,它也可以作為本地或伺服器檔案系統上的一組 JSON 檔案使用:一個單獨的資料夾(將執行的雜湊作為資料夾名稱)為每次執行建立,包含以下檔案:
  • all-transforms-data.json包含管道中轉換的分析資料
  • execution.json包含資訊選項卡中顯示的資訊
  • workflow-log.txt或pipeline-log.txt包含工作流或管道執行的完整日誌
  • state.json在執行期間跟蹤工作流或管道狀態。

與往常一樣,我們很樂意幫助您充分利用 Apache Hop。



 

相關文章