天天看點

資料工程指南進階技能:連接配接和緩沖器

在之前的文章中,我們介紹了資料工程的入門知識和基礎技能,接下來繼續探讨進階技能。

資料工程指南系列:

《資料工程指南:初學者入門》

《資料工程指南:基礎技能》

《資料工程指南進階技能:如何選擇資料平台》

《資料工程指南進階技能:Hadoop平台》

原文來源于Github開源項目《The Data Engineering Cookback》

作者:Andreas Kretz

感興趣可以檢視:Data Engineering Cookbook

連接配接

REST API

API:即應用程式接口(Application Programming Interface),是大資料平台的基石。

好平台都應該提供一個強大和穩定的API,我在這期播客中讨論了建立API的重要性。

Twitter API是一個非常好的參考,檢視它們的文檔:Twitter API

有效載荷壓縮攻擊(Payload Compression Attacks)

壓縮炸彈(Zip Bombs):入門教程

如何用壓縮炸彈保護你的伺服器:入門教程

如何建立API

關于如何設計和建立API,參考下方教程:

  • Jersey入門
  • 用Java, Jersey和Spring實作REST API
  • Swagger入門教程
  • Jsersey和Swagger的差別
  • Spring架構
  • 什麼時候使用Spring或Jersey

Apache Nifi

我認為Nifi是非常有潛力的工具,它簡化了建立資料管道的流程。

假設你想從Rest API擷取資料并釋出到Kafka,然後從Kafka讀取資料并存到資料庫,Nifi可以實作這一點。

Nifi功能很強大,還可以在GUI界面進行操作。

參考教程:

  • 官方文檔
  • Data in Motion

除Nifi外,還有很多工具可以幫助我們建立資料管道,比如:

  • Logstash
  • FluentD
  • Apache Flume
  • Sqoop
  • Azure IoTHub

緩沖器

為什麼要使用緩沖器(即消息隊列)?

緩沖器背後的思想是為傳入的資料建立一個中間系統。

它的工作原理是,從資料源擷取資料,釋出到消息隊列中,資料“緩存”在這裡直到被其它程式消費。

如果沒有緩沖區,直接将資料寫入存儲庫可能會遇到問題,因為總會遇到一些資料峰值,導緻系統當機。

比如說,現在是午休時間,你的App的使用量突然大增,産生了更多的資料,以至于超過了系統的存儲處理能力。

有了緩沖區,你就可以緩沖傳入的資料,分析時再提取盡可能多的資料,這樣就不會對整個系統構成巨大的性能壓力。

緩沖區對于建構資料管道也非常有用。

例如你可以從kafka先取出資料,進行預處理再放回kafka,然後通過另一個程式将清洗後的資料取出并放入資料庫。

常用工具包括:

  • Apache Kafka
  • Redis
  • AWS kinesis
  • Google Cloud PubSub

你們的點贊和收藏是我們最大的創作動力,我們每天都會為大家帶來資料科學和量化交易領域的精品内容。

蜂鳥資料:開源金融資料接口,一個API連接配接世界金融市場。

蜂鳥資料團隊由業界頂尖的資料工程師,資料科學家和寬客組成,我們正努力建構一個開源的金融資料庫,并提供API接口,目标是令金融資料開源化和平民化。

浏覽并測試我們接口吧,目前覆寫股票,外彙,商品期貨,數字貨币和宏觀經濟領域,包括實時報價(tick)和曆史資料(分鐘),提供REST API和Websocket兩種接入方式,能夠滿足金融分析師,量化交易和理财app的需求。

蜂鳥資料API接口文檔

登入蜂鳥官網,注冊免費擷取API密鑰