AWS 數據分析服務(十)

Amazon Kinesis

概念

  • 處理AWS上大量流數據的數據平臺
  • Kinesis Streams 用於蒐集數據,Client Library 用於分析後的展示
  • 構建用於處理或分析流數據的自定義應用程序
  • 可以支持從數十萬中來源捕獲和存儲TB級的數據,如網站點擊流、財務交易、媒體饋送、IT日誌等
  • 使用IAM限制用戶和角色對Kinesis的訪問,使用角色的臨時安全憑證可以提高安全性
  • Kiesis只能使用SSL加密進行訪問

Kinesis組件

Kinesis Data Firehose

  • 加載大量流數據到AWS服務中
  • 數據默認被存儲在S3中,從S3還可以再被進一步轉存到Redshift
  • 數據也可以被寫入到ElaticSearch中,並且同時備份到S3

Kinesis Data Streams:

  • 自定義構建應用程序,實時分析流數據
  • 利用AWS開發工具包,可以實現數據在流中移動時仍然能被處理,從而接近實時
  • 爲了接近實時,處理的複雜度通常較輕
  • 創建者 Producer 持續將數據推送進Data Streams
  • 數據在DataStream 由一組組分片(Shards)組成,每個分片就是一條記錄,通過不斷分片實現幾乎無限的擴展能力
  • 使用者 Comsumer 會實時對Data Steams的內容進行處理,並且將結果推送到不同的AWS服務
  • 數據在Stream中是臨時的,默認存儲24小時,最大可以設置爲7天

AWS 數據分析服務(十)

Kinesis Data Analytics

  • 使用標準SQL實時分析流數據

Kinesis Video Streams

  • 捕獲、處理並存儲視頻流用於分析和機器學習

適用場景

  • 大量的數據攝取
  • 海量流數據的實時處理

Elastic MapReduce ( EMR)

概念

  • 提供完全託管的按需 Hadoop 框架
  • 啓動EMR集羣的必選項
  • 集羣節點的實例類型
  • 集羣中的節點數量
  • 希望運行的Hadoop版本
  • Hadoop集羣選擇存儲類型至關重要,主要因素是集羣是持久的還是瞬態的
  • 需要持續運行並分析數據的集羣是持久集羣
  • 按需啓動並在完成後立即停止的集羣爲瞬時集羣
  • 默認不限制EMR集羣數量,但限制用於EMR節點總數爲20個,可申請擴展
  • 可以從S3以及其他任何位置攝取數據
  • Hadoop 日誌文件默認存儲在S3中,且不支持壓縮
  • EMR支持競價實例
  • EMR需要在一個可用區部署,不支持跨可用區部署,通常建議選擇數據所在的區域
  • 集羣啓動通常在15分鐘內可以開始進行數據處理
  • EMR允許使用磁性、SSD和 PIOPS SSD三種EBS卷。
  • 適用場景
    • 日誌處理,點擊流分析,基因學和生命科學

文件系統

HDFS

  • Hadoop標準文件系統
  • 所有數據都在多個實例中被複制保證持久性
  • HDFS可以利用EBS存儲確保在關閉集羣時不丟失數據
  • 非常適合於持久的集羣

EMRFS

  • HDFS在AWS S3上的實現,將數據保存在S3中
  • 可以使用所有Hadoop生態的工具系統
  • 非常適合於瞬時集羣

EMR NoteBooks

  • EMR Notebooks 提供基於 Jupyter Notebook 的託管環境,可供數據科學家、分析員和開發人員準備數據並使其可視化、與同伴協作、構建應用程序,並使用 EMR 羣集執行交互分析。
  • 您可以使用 EMR Notebooks 構建 Apache Spark 應用程序,並且輕而易舉地在 EMR 羣集上運行交互查詢。多個用戶可以直接從控制檯創建無服務器筆記本、將其掛載到現有的共享 EMR 羣集,或直接從控制檯提供至少 1 個節點的並立即開始使用 Spark 進行實驗。

安全設置

  • EMR默認將設置兩個EC2安全組: 主節點和從屬節點
    • 主安全組
      • 定義一個端口用於與服務的通信
      • 打開的SSH端口,允許啓動時指定的SSH密鑰進入實例
      • 默認不允許被外部實例訪問,但可設置
    • 從屬安全組
      • 只允許與主實例進行交互
  • 默認使用SSL向S3傳送數據
  • 可以支持對集羣進行標記,最多10個標記,但不支持基於標記的IAM許可。
  • 使用IAM權限和角色控制對EMR的訪問和控制
  • 可以設置允許非Hadoop用戶將作業提交至集羣的權限
  • 可以將EMR放入到私有VPC中實現額外的保護

AWS Data Pipeline

概念

  • 實現在指定時間間隔,在AWS資源和本地數據之間可靠地處理和移動數據
  • 您可以快速輕鬆地部署管道,無需分心管理日常數據操作,從而讓您能夠集中精力從該數據獲取所需的信息。您只需爲您的數據管道指定所需數據源、時間表和處理活動即可。
  • 與SWF相比,Data Pipeline 專門設計用於簡化大多數數據驅動工作流程中常見的特定步驟。例如:在輸入數據符合特定準備就緒標準後執行活動,輕鬆在不同數據存儲之間複製數據,以及調度鏈接的轉換。這種高度具體的側重點意味着 Data Pipeline 工作流定義可以快速創建,並且無需代碼或編程知識。
  • 定期訪問存儲數據,並對數據進行大規模處理,並且將結果轉換爲AWS服務

AWS 數據分析服務(十)

  • 利用Pipeline的定義安排和運行任務,可以每15分鐘,每天,每週運行等
  • 數據節點是pipeline流水線讀取和寫入數據的位置,可以是S3,MySQL,Redshift等AWS或本地存儲
  • Pipeline通常需要配合其他服務執行預定義的任務,如EMR,EC2等,並在執行完成後自動關閉該服務
  • Pipeline在編排的過程支持條件語句
  • 若某項活動失敗,默認會不斷重試,所以需要配置限制重試次數或未成功時採取的行動
  • 每個賬戶默認支持100個管道,單一管道中可以擁有100個對象,可以申請擴展

屬性

  • 管道
    • 即 AWS Data Pipeline 資源,其中包含由執行業務邏輯所需的數據源、目的地和預定義或自定義數據處理活動所組成的關聯數據鏈的定義。
  • 數據節點
    • 數據節點代表您的業務數據。例如,數據節點可以表示特定的 Amazon S3 路徑。AWS Data Pipeline 支持表達式語言,使其更容易引用常態生成的數據。
  • 活動
    • 是 AWS Data Pipeline 代表您啓動的操作,它是管道的一部分。示例活動包括 EMR 或 Hive 作業、複製、SQL 查詢或命令行腳本。
  • 前提條件
    • 前提條件是指成熟度檢查,可選擇性地將其關聯到數據源或活動。如果數據源具有前提條件檢查,那麼必須先成功完成檢查,然後才能啓動任何需要用到該數據源的活動。如果活動具有前提條件,那麼必須先成功完成檢查,然後才能運行活動。
  • 時間表
    • 定義管道活動運行的時間和服務預計的可使用數據的頻率。可以選擇時間表結束日期,在此時間後,AWS Data Pipeline 服務不執行任何活動。
    • 當您將時間表與活動關聯起來後,活動就會按時間表運行。當您將時間表與數據源關聯起來,就表示您告訴 AWS Data Pipeline 服務,您期望數據會按照該時間表更新。

適用場景

  • 非常適用於常規批處理的ETL流程,而不是連續數據流

Amazon Elastic Transcoder

  • 一種在線媒體轉碼的工具
  • 將視頻從源格式轉換到其他的格式和分辨率,以便在手機、平板、PC等設備上播放
  • 一般來說,將需要轉碼的媒體文件放在AWS S3的存儲桶上,創建相應的管道和任務將文件轉碼爲特定的格式,最後將文件輸出到另一個S3的存儲桶上面去。
  • 也可以使用一些預設的模板來轉換媒體格式。
  • 可以配合Lambda函數,在有新的文件上傳到S3後觸發函數代碼,執行Elastic Transcoder並自動進行媒體文件的轉碼。

AWS 數據分析服務(十)

Amazon Athena

  • Amazon Athena 是一種交互式查詢服務,讓您能夠輕鬆使用標準 SQL 分析 Amazon S3 中的數據。Athena 沒有服務器,因此您無需管理任何基礎設施,且只需爲您運行的查詢付費。
  • Athena 簡單易用。只需指向您存儲在 Amazon S3 中的數據,定義架構並使用標準 SQL 開始查詢就可在數秒內獲取最多的結果。
  • 使用 Athena,無需執行復雜的 ETL 作業來爲數據分析做準備。這樣一來,具備 SQL 技能的任何人都可以輕鬆快速地分析大規模數據集。
  • 支持的數據格式包括 JSON,Apache Parquet, Apache ORC

Amazon Elasticsearch Service

  • Amazon Elasticsearch Service 是一項完全託管的服務,方便您部署、保護和運行大量 Elasticsearch 操作,且不用停機。
  • 該服務提供開源 Elasticsearch API、受託管的 Kibana 以及與 Logstash 和其他 AWS 服務的集成,支持您安全獲取任何來源的數據,並開展實時搜索、分析和可視化。
  • 使用 Amazon Elasticsearch Service 時,您只需按實際用量付費,沒有預付成本或使用要求。有了 Amazon Elasticsearch Service,您無需承擔運營開銷,便可獲得所需的 ELK 堆棧。

AWS X-Ray

  • AWS X-Ray 可以幫助開發人員分析與調試分佈式生產應用程序,例如使用微服務架構構建的應用程序。
  • 藉助 X-Ray,您可以瞭解應用程序及其底層服務的執行方式,從而識別和排查導致性能問題和錯誤的根本原因。
  • X-Ray 可在請求通過應用程序時提供請求的端到端視圖,並展示應用程序底層組件的映射。
  • 您可以使用 X-Ray 分析開發和生產中的應用程序,從簡單的三層應用程序到包含上千種服務的複雜微服務應用程序。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章