官术网_书友最值得收藏!

1.2.3 數據管道應用程序

提取-轉換-加載(Extract-Transform-Load,ETL)是在存儲系統之間轉換和移動數據的常用方法。ETL作業通常定期觸發,以便將數據從事務型數據庫系統復制到分析數據庫或數據倉庫。

數據管道的作用類似于ETL作業。它們轉換和豐富數據,并能將數據從一個存儲系統移動到另一個存儲系統,然而,它們以連續流模式運行,而不是周期性地觸發,因此,它們能夠從不斷產生數據的源讀取記錄,并以較低的時延將其移動到目標。例如,數據管道可以監視文件系統目錄中的新文件,并將其數據寫入事件日志。另一個應用程序可能將事件流物化到數據庫,或者增量地構建和細化搜索索引。

Apache Flink周期性ETL作業和連續數據管道之間的區別如圖1-6所示。

圖1-6 Apache Flink周期性ETL作業和連續數據管道之間的區別

與定期ETL作業相比,連續數據管道的明顯優勢是減少了將數據移動到其目的地的時延。此外,數據管道更加通用,可以用于更多的用例,因為它們能夠持續地消費和發出數據。

Flink的SQL接口(或Table API)及其對用戶定義函數(UDF)的支持可以解決許多常見的數據轉換問題。使用更加通用的DataStream API可以實現具有更高要求的數據管道。Flink為各種存儲系統(如Kafka、Kinesis、Elasticsearch和JDBC數據庫系統)提供了一組豐富的連接器。它還為文件系統提供了連續源,用于監視以時間間隔方式寫文件的目錄和接收器。

典型的數據管道應用程序包括:

(1)電子商務中的實時搜索索引構建。

(2)電子商務中的持續ETL。

主站蜘蛛池模板: 西畴县| 成都市| 嘉黎县| 长丰县| 宁晋县| 康保县| 金山区| 扎兰屯市| 绥芬河市| 山阴县| 庆云县| 西华县| 巴楚县| 静海县| 樟树市| 鲜城| 巴里| 和硕县| 富蕴县| 天门市| 丰都县| 嘉兴市| 百色市| 青州市| 精河县| 肇东市| 六盘水市| 湘西| 张家川| 广汉市| 文成县| 江油市| 中卫市| 临城县| 修水县| 逊克县| 石首市| 饶平县| 成都市| 黄石市| 北海市|