

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon EMR 上使用 Apache Hive 處理 DynamoDB 資料
<a name="EMRforDynamoDB"></a>

Amazon DynamoDB 已與 Apache Hive 整合；Apache Hive 是一種在 Amazon EMR 上執行的資料倉儲應用程式。Hive 可以在 DynamoDB 資料表中讀取和寫入資料，讓您能夠：
+ 使用類似 SQL 的語言 (HiveQL) 查詢即時 DynamoDB 資料。
+ 將資料從 DynamoDB 資料表複製到 Amazon S3 儲存貯體，反之亦然。
+ 將資料從 DynamoDB 資料表複製到 Hadoop 分散式檔案系統 (HDFS) 中，反之亦然。
+ 在 DynamoDB 資料表上執行聯結操作。

**Topics**
+ [概觀](#EMRforDynamoDB.Overview)
+ [教學課程：使用 Amazon DynamoDB 和 Apache Hive](EMRforDynamoDB.Tutorial.md)
+ [在 Hive 中建立外部資料表](EMRforDynamoDB.ExternalTableForDDB.md)
+ [處理 HiveQL 陳述式](EMRforDynamoDB.ProcessingHiveQL.md)
+ [查詢 DynamoDB 中的資料](EMRforDynamoDB.Querying.md)
+ [在 Amazon DynamoDB 之中複製和貼入資料](EMRforDynamoDB.CopyingData.md)
+ [效能調校](EMRforDynamoDB.PerformanceTuning.md)

## 概觀
<a name="EMRforDynamoDB.Overview"></a>

Amazon EMR 服務可讓您輕鬆快速地以符合成本效益的方式來處理相當大量的資料。若要使用 Amazon EMR，您可以啟動執行 Hadoop 開放原始碼架構的 Amazon EC2 執行個體受管叢集。*Hadoop* 為實作 MapReduce 演算法的分散式應用程式，其中任務會映射到叢集中的多個節點。每個節點會與其他節點平行處理其指定的工作。最後，在單個節點上會減少輸出，產生最終結果。

您可以選擇啟動 Amazon EMR 叢集，以便維持其持續性或暫時性：
+ *持續性*叢集會一直執行，直到您將其關閉為止。持續性叢集非常適合用於資料分析、資料倉儲或任何其他互動式用途。
+ *暫時性*叢集執行的時間足以處理任務流程，然後自動關閉。暫時性叢集非常適合用於定期處理任務，如執行指令碼。

如需 Amazon EMR 架構和管理的相關資訊，請參閱《[Amazon EMR 管理指南](https://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide)》。

在啟動 Amazon EMR 叢集時，請指定 Amazon EC2 執行個體的初始編號和類型。您還可以指定要在叢集上執行的其他分散式應用程式 (除了 Hadoop 本身)。這些應用程式包含 Hue、Mahout、Pig、Spark。

如需 Amazon EMR 應用程式的相關資訊，請參閱《[Amazon EMR 版本指南](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide)》。

根據叢集組態，您可能具有下列一或多種節點類型：
+ 領導節點：管理叢集，協調 MapReduce 可執行文件和原始資料子集到核心和任務執行個體群組的分佈。該節點也會追蹤每個已執行任務的狀態，並監控執行個體群組的運作狀態。一個叢集中只有一個領導節點。
+ 核心節點：會執行 MapReduce 任務，然後使用 Hadoop 分散式檔案系統 (HDFS) 存放資料。
+ 任務節點 (選用)：執行 MapReduce 任務。