当前位置: 首页 > 知识库问答 >
问题:

增长

燕雨石
2023-03-14

我有一个AWS DynamoDb表,它是写密集型的。我已经在预配容量模式下配置了10,000WCU和1000RCU。

我正在使用AWS数据管道将DynamoDb内容导出到S3。管道配置为读取吞吐量比率75%

在这个设置中导出150GB的数据需要大约2个小时。当我将RCU增加到10,000时,导出在不到20分钟内完成。

在DataPipeline中是否有任何方法仅在管道运行时增加预配的RCU?由于此管道配置为每天仅运行一次。

共有1个答案

锺伟志
2023-03-14

无法从数据管道作业中控制DynamoDB容量。

但是,您可以使用AWS步骤函数将ETL作业与其他任意步骤协调起来。因此,您的解决方案可以是一个预定的CloudWatch事件,它启动一个步骤函数,以:

  1. 设置DynamoDB表的容量。(我认为你需要为此编写一个简单的Lambda函数,因为步骤函数不能直接完成。)
  2. 调用启动数据管道作业的Lambda
  3. 等待作业完成
  4. 重置表的读取容量

额外资源

  • 具有示例ETL编排工作流的GitHub存储库
  • 在AWS Step函数上编排ETL作业的另一个示例。该示例包括定期检查作业状态的循环
  • DynamoDB的可更新API文档
 类似资料:
  • 在名词解释这一章节中,我们看到在weather中的有不少数据。 本节将演示下如何为数据库插入数据。 通过命令行 use testDB insert weather,altitude=1000,area=北 temperature=11,humidity=-4 这样,我们就向数据库中添加了一条数据。 通过Http接口 InfluxDB提供了Http的API接口,所以我们也可以通过下面的方式来插入数

  • 问题内容: 有没有人看过java.nio.ByteBuffer的实现,如果putX()调用超出容量,该实现会动态增长? 我想这样做的原因有两个: 我不知道我需要多少空间。 我宁愿不要在每次空间不足时都执行一个新的ByteBuffer.allocate()而不是一个批量put()。 问题答案: 为了使异步I / O起作用,您必须具有连续的内存。在C中,您可以尝试重新分配一个数组,但是在Java中,您

  • 模型数据的新增和数据库的新增数据有所区别,数据库的新增只是单纯的写入给定的数据,而模型的数据写入会包含修改器、自动完成以及模型事件等环节,数据库的数据写入参考数据库章节。 添加一条数据 第一种是实例化模型对象后赋值并保存: $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq

  • 请求地址 https://api.es.xiaojukeji.com/river/Member/single 返回数据格式 JSON 请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的access

  • 请求地址 https://api.es.xiaojukeji.com/river/BudgetCenter/add 返回数据格式 JSON 请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的acc

  • 主要内容:使用 counters 集合,创建 Javascript 函数,使用 Javascript 函数MongoDB 中没有像 SQL 中那样可以赋予某个字段自动递增的功能,默认情况下 MongoDB 的 _id 字段是系统自动生成的 12 字节的唯一标识,但是在某些情况下我们可能需要在 MongoDB 的某个字段上实现类似 SQL 中的自动递增功能。 因为 MongoDB 中没有实现这个功能,所以我们需要通过编程的方式来实现。本节中我们将通过两个集合(counters 和 tutorial