EMR的分散式運算與分散式儲存適用是批量處理的應用場景,它也和Glue一樣有提供互動式分析介面:EMR Notebook 與 EMR Studio,供開發與測試使用。目前官方推薦使用EMR Studio而非 Notebook 但兩者目前都還有支援,因為EMR Studio可以更好的做權限控管與保障資料的安全。
EMR Notebook
EMR Studio
注意要預先設定VPC網路環境與適當的IAM Role方便建立時直接選取
另外要提的特色,是EMR中的檔案系統—EMRFS:
Hadoop內建使用HDFS檔案系統,搭配YARN做資源管理。在EMR上的Hadoop執行環境在地端建立的一樣,在程式碼執行時會先從資料源拉取要運算的資料到slave node,在執行完成後也會需要一段時間才會歸還資源。而EMR自己的檔案系統EMRFS可以在資料源是S3時使用,直接把S3中的bucket視為同一個檔案系統中,直接在接收到任務時節省拉取資料的時間,更有效率的執行工作任務。
目前為止都是介紹在考量「速度」需求時會用上的運算服務:Lambda、Glue、EMR,目前介紹的功能也都以這些服務中的「批量處理」應用為主,單次處理的資料量相對較大,延遲可能幾分鐘至數小時。當然這三個服務中也都可以執行「串流處理」任務,比如說在Glue和EMR上建置Spark Streaming、Flink等應用程式。
但在AWS上有另一個針對「串流處理」所設計的服務供使用者選擇,那就是Amazon Kinesis。