如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

任何大數據操作都需要大量的運算能力。 將資料從資料庫轉移到 Hadoop 的典型過程可能需要數週時間,或者成本相當於飛機機翼的成本。 不想等又花錢? 平衡不同平台之間的負載。 一種方法是下推優化。

我請俄羅斯領先的 Informatica 產品開發和管理培訓師 Alexey Ananyev 談談 Informatica 大數據管理 (BDM) 中的下推優化功能。 您是否學會使用 Informatica 產品? 最有可能的是,Alexey 向您介紹了 PowerCenter 的基礎知識並解釋如何建立映射。

Alexey Ananyev,DIS 集團訓練主管

什麼是下推?

許多人已經熟悉 Informatica 大數據管理 (BDM)。 該產品可以整合來自不同來源的大數據、在不同系統之間移動數據、提供輕鬆存取數據、允許您分析數據等等。
在正確的人手中,BDM 可以創造奇蹟:可以用最少的運算資源快速完成任務。

你也想要那個嗎? 了解如何使用 BDM 中的下推功能在不同平台之間分配計算負載。 下推技術可讓您將映射轉換為腳本並選擇該腳本運行的環境。 這種選擇使您可以結合不同平台的優勢並實現其最大性能。

配置腳本執行環境,需要選擇下推類型。 該腳本可以完全在 Hadoop 上運行,也可以部分分佈在來源和接收器之間。 有 4 種可能的下推類型。 映射不需要變成腳本(本機)。 映射可以在來源上盡可能多地進行(source),也可以完全在來源上進行(full)。 映射也可以變成 Hadoop 腳本(無)。

下推優化

列出的 4 種類型可以以不同的方式組合 - 下推可以針對系統的特定需求進行最佳化。 例如,使用資料庫自己的功能從資料庫中提取資料通常更合適。 並且資料將使用Hadoop進行轉換,以免資料庫本身過載。

讓我們考慮一下來源和目標都在資料庫中的情況,並且可以選擇轉換執行平台:根據設置,它將是 Informatica、資料庫伺服器或 Hadoop。 這樣的例子可以讓你最精確地理解這個機制運作的技術層面。 當然,在現實生活中,這種情況不會出現,但它最適合演示功能。

讓我們透過映射來讀取單一 Oracle 資料庫中的兩個表。 並讓讀取結果記錄在同一個資料庫的一張表中。 映射方案將是這樣的:

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

在 Informatica BDM 10.2.1 上的映射形式如下:

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

下推類型 – 本機

如果我們選擇下推本機類型,則對應將在 Informatica 伺服器上執行。 資料將從 Oracle 伺服器讀取,傳輸到 Informatica 伺服器,在那裡轉換並傳輸到 Hadoop。 也就是說,我們將得到一個正常的ETL流程。

下推類型 – 來源

選擇來源類型時,我們有機會在資料庫伺服器 (DB) 和 Hadoop 之間分散我們的流程。 當使用此設定執行進程時,從表中檢索資料的請求將被傳送到資料庫。 其餘的將在 Hadoop 上以步驟的形式執行。
執行圖將如下所示:

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

下面是設定運行時環境的範例。

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

在這種情況下,映射將分兩步驟進行。 在其設定中,我們將看到它已變成將發送到來源的腳本。 此外,組合表和轉換資料將以來源上重寫查詢的形式執行。
在下圖中,我們看到 BDM 上的最佳化映射以及在來源上重新定義的查詢。

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

在此配置中,Hadoop 的作用將減少為管理資料流 - 編排資料流。 查詢結果將會傳送到Hadoop。 讀取完成後,來自 Hadoop 的檔案將被寫入到接收器中。

下推式 – 全

當您選擇完整類型時,映射將完全變成資料庫查詢。 並且請求的結果將被送到Hadoop。 下面給出了這樣一個過程的圖表。

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

下面顯示了一個範例設定。

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

結果,我們將得到與前一個類似的最佳化映射。 唯一的區別是所有邏輯都以覆蓋其插入的形式傳輸到接收器。 下面給出了優化映射的範例。

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

在這裡,與前面的案例一樣,Hadoop 扮演著指揮者的角色。 但這裡是完整讀取來源,然後在接收器層級執行資料處理邏輯。

下推類型為空

好吧,最後一個選項是下推類型,在這種類型中我們的映射將變成 Hadoop 腳本。

優化後的映射現在如下所示:

如何廉價、快速地移動、上傳和整合非常大的資料? 什麼是下推優化?

這裡,來源檔案中的資料將首先在 Hadoop 上讀取。 然後,用他自己的手段,將這兩份文件結合起來。 之後,數據將被轉換並上傳到資料庫。

透過了解下推優化的原理,您可以非常有效地組織許多處理大數據的流程。 因此,最近,一家大公司在短短幾週內就將之前收集了幾年的大數據從儲存下載到了 Hadoop 中。

來源: www.habr.com

添加評論