EMR Studio 是一種整合式開發環境 (IDE),可讓資料科學家和資料工程師開發、視覺化和偵錯以 R、Python、Scala 和 PySpark 編寫的資料工程和資料科學應用程式。
EMR Studio 提供全受管 Jupyter Notebooks,以及 Spark UI 和 YARN Timeline Service 等工具來簡化偵錯程序。資料科學家和分析師可安裝自訂核心和程式庫,使用 GitHub 和 BitBucket 等程式碼儲存庫與對等進行協同運作,或者使用協調服務 (如 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow) 執行參數化筆記本,作為排程工作流程的一部分。
EMR Studio 核心和應用程式在 EMR 叢集上執行,因此,您可以使用針對 Apache Spark 進行效能最佳化的 Amazon EMR 執行時間,取得分散式資料處理的優勢。管理員可為分析師設定 EMR Studio,以便在現有 EMR 叢集上執行其應用程式,或者使用針對 EMR 預先定義的 AWS CloudFormation 範本建立新的叢集。
特色與優點
簡單易用
EMR Studio 使與 EMR 叢集上的應用程式互動變得簡單。您可以使用 AWS IAM 身分驗證從 AWS 主控台存取 EMR Studio,也可以透過 AWS IAM Identity Center (AWS SSO 的後繼者) 從身分供應商 (IdP) 啟用聯合存取,從而無需登入 AWS 主控台。您可以使用筆記本以互動方式探索、處理和視覺化資料,建置和排定管道,以及偵錯應用程式,而無需登入 EMR 叢集。
全受管 Jupyter 筆記本
藉由 EMR Studio,您可以在幾秒鐘內啟動筆記本、使用示例筆記本並進行資料探索。您可以透過內建的即時協作與同行協作,並透過 Git 儲存庫跨筆記本版本追蹤變更。您還可以透過從筆記本載入自訂核心和 Python 程式庫來自訂環境。
易於建置應用程式
EMR Studio 可讓您輕鬆地從原型設計轉向生產。您可以從程式碼儲存庫觸發管道,只需使用 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow 等協同運作工具將筆記本作為管道執行,或者只需按一下即可將筆記本連接到更大的叢集。
簡化偵錯
使用 EMR Studio,您無需登入到作用中叢集和已終止叢集的叢集即可偵錯任務和存取日誌。您可以直接從 EMR Studio 使用原生應用程式介面,例如 Spark UI 和 YARN 時間表服務。EMR Studio 還允許您使用叢集狀態、建立時間和叢集 ID 等篩選條件快速定位要偵錯的叢集或任務。
即時協作式筆記本
藉由 EMR Studio,資料科學家、工程師和分析師可以跨團隊即時協作。您可以邀請您的同事檢視和編輯筆記本。這項功能使 Jupyter 筆記本的即時共同創作、程式碼偵錯和程式碼審查成為可能。
SQL Explorer
EMR Studio 隨附 SQL Explorer,這是您工作區中的一種功能,可讓您直接從 EMR Studio 瀏覽資料型錄並在 EMR 叢集上執行 SQL 查詢。在 SQL Explorer 中,您可以使用 Presto 連接到 EC2 叢集上的 Amazon EMR 以檢視和瀏覽資料型錄。SQL Explorer 還提供一個編輯器,可供您執行 SQL 查詢、在資料表中檢視查詢結果,並以 csv 格式下載它們。
多語言筆記本
EMR Studio 可讓您在單個 Jupyter 筆記本中使用多種語言。您可以在同一個 Jupyter 筆記本中,在 Python、Scala、SparkSQL 和 R 之間切換,並透過臨時資料表在單元格之間共用資料。藉由此功能,您可以使用最適合工作流程不同元件的語言編寫程式碼。
使用案例
建置資料科學和工程應用程式
藉由 EMR Studio,您可以在幾秒鐘內啟動筆記本、使用示例筆記本並進行資料探索。您可以透過內建的即時協作與同行協作,並透過 Git 儲存庫跨筆記本版本追蹤變更。您還可以透過從筆記本載入自訂核心和 Python 程式庫來自訂環境。
部署生產管道
在 EMR Studio 中,您可以使用程式碼儲存庫來觸發管道。您還可以參數化和鏈接筆記本以建置管道。您可以使用 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow 等工作流程協同運作服務將筆記本整合到排定的工作流程中。EMR Studio 還允許您將筆記本重新連接到更大的叢集以執行任務。
簡化應用程式偵錯
在 EMR Studio 中,您可以從筆記本 UI 偵錯筆記本應用程式。您還可以透過先使用叢集狀態等篩選條件縮小叢集範圍來偵錯管道,並透過盡可能少的點擊來診斷作用中和已終止叢集上的任務,以打開 Spark UI、Tez UI 和 Yarn Timeline Service 等原生偵錯 UI。