1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
【以下的回答经过翻译处理】 emr-dynamodb-connector (https://github.com/awslabs/emr-dynamodb-connector) 的 DynamoDBStorageHandler 在 EMR 使用 Hive/Spark/MR 与 DynamoDB 表进行交互时被使用。它根据 dynamodb.throughput.write.percent 配置以及其他参数确定一个 maxParallelTasks 属性。maxParallelTasks 属性是 MR 引擎的一个函数(因为在实现连接器时,默认情况下是在 Hive on MR 上),因此如果选择 Tez/Spark 引擎用于 Hive,连接器的写入和功能不会改变,但是 IOPS 将不再受到控制/估算,写入速率主要取决于输入大小和 EMR 集群容量。这可能导致对表进行限流(不确定是否这些是您指的错误)
只要Hive on MR可用,目前建议在写入时使用MR引擎并在运行时设置它(在与DynamoDB交互的任何Hive脚本之前添加“set hive.execution.engine=mr;”)。这不需要2个EMR集群,直到客户有一天开始使用EMR的更高版本(现在所有EMR版本都有MR 引擎,因此如果继续使用这些版本,则不会出现问题)时,遇到EMR 中的 Hive 不再包含 MR 引擎。
PS:即使是Hive on MR与DynamoDB进行交互,EMR集群容量也可能是决定写入速度的次要因素,但最大值始终会根据设置的dynamodb.throughput.write.percent配置来进行限制。
関連するコンテンツ
- 質問済み 7年前
- 質問済み 7年前
- AWS公式更新しました 2年前
- AWS公式更新しました 1年前