

# 第 5 步：将数据复制到 DynamoDB
<a name="EMRforDynamoDB.Tutorial.CopyDataToDDB"></a>

在此步骤中，将数据从 Hive 表 (`hive_features`) 复制到 DynamoDB 的新表。

1. 打开 DynamoDB 控制台：[https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)。

1. 选择**创建表**。

1. 在**创建 DynamoDB 表**页面，执行以下操作：

   1. 在**表**中键入 **Features**。

   1. 对于**主键**，在**分区键**字段键入 **Id**。将数据类型设置为 **Number**。

      清除**使用默认设置**。对于**预置容量**，键入：
      + **读取容量单位**—`10`
      + **写入容量单位**—`10`

   选择**创建**。

1. 在 Hive 提示符处，输入以下 HiveQL 语句：

   ```
   CREATE EXTERNAL TABLE ddb_features
       (feature_id   BIGINT,
       feature_name  STRING,
       feature_class STRING,
       state_alpha   STRING,
       prim_lat_dec  DOUBLE,
       prim_long_dec DOUBLE,
       elev_in_ft    BIGINT)
   STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
   TBLPROPERTIES(
       "dynamodb.table.name" = "Features",
       "dynamodb.column.mapping"="feature_id:Id,feature_name:Name,feature_class:Class,state_alpha:State,prim_lat_dec:Latitude,prim_long_dec:Longitude,elev_in_ft:Elevation"
   );
   ```

   现在，您已在 DynamoDB 中的 Hive 和 Features 表之间建立了映射。

1. 输入下面的 HiveQL 语句，将数据导入到 DynamoDB：

   ```
   INSERT OVERWRITE TABLE ddb_features
   SELECT
       feature_id,
       feature_name,
       feature_class,
       state_alpha,
       prim_lat_dec,
       prim_long_dec,
       elev_in_ft
   FROM hive_features;
   ```

   Hive 将提交一个 MapReduce 任务，由 Amazon EMR 集群处理。完成任务需要几分钟的时间。

1. 验证数据是否已加载到 DynamoDB 中：

   1. 在 DynamoDB 控制台导航窗格选择**表**。

   1. 选择 Features 表，然后选择**项目**选项卡查看数据。

**后续步骤**  
[第 6 步：查询 DynamoDB 表中的数据](EMRforDynamoDB.Tutorial.QueryDataInDynamoDB.md)