

# 其他主题
<a name="EMRforDynamoDB.PerformanceTuning.Misc"></a>

以下是一些使用 Hive 访问 DynamoDB 的性能调节方法。

## Retry duration
<a name="EMRforDynamoDB.PerformanceTuning.Misc.RetryDuration"></a>

默认情况下，如果 Hive 在两分钟内没有从 DynamoDB 返回任何结果，则将重新运行 Hadoop 任务。可以通过修改 `dynamodb.retry.duration` 参数调整此间隔：

```
1. SET dynamodb.retry.duration=2;
```

该值必须为非零整数，表示重试间隔的分钟数。`dynamodb.retry.duration` 默认为 2（分钟）。

## 并行数据请求
<a name="EMRforDynamoDB.PerformanceTuning.Misc.ParallelDataRequests"></a>

从多个用户或多个应用程序向单个表发出的多个数据请求可能会耗尽预置读取吞吐量并降低性能。

## 处理持续时间
<a name="EMRforDynamoDB.PerformanceTuning.Misc.ProcessDuration"></a>

DynamoDB 中的数据一致性取决于在每个节点上执行读取和写入操作的顺序。当正在进行 Hive 查询时，其它应用程序可能会将新数据加载到 DynamoDB 表，或者修改或删除现有数据。在这种情况下，Hive 查询的结果可能无法反映查询运行时对数据所做的更改。

## 请求时间
<a name="EMRforDynamoDB.PerformanceTuning.Misc.RequestTime"></a>

调度 Hive 查询，在对 DynamoDB 表的需求较低时访问 DynamoDB 表，可以改善性能。例如，如果应用程序的大多数用户住在旧金山，可以选择在太平洋标准时间凌晨 4:00，大多数用户处于睡眠状态且不更新 DynamoDB 数据库记录导出每日数据。

