本节如果你已经从Dynamodb中导出过数据,而且导出的文件以及被存入S3。文件内部结构会在Verify
Data Export File
 中描写叙述。

我们称之前导出数据的原始表为source table,数据将要被导入的表为destination table。你能够将S3中的导出文件导入到dynamodb的表中。可是要先确保满足以下条件:
  • The destination table 已经存在。 (导入任务不会为你创建表)
  • The destination table 与 source table 有同样的名称。
  • The destination table 与 source table 有同样的结构。

Destination table不一定要是空的。然而,导入进程会替换掉表中有相同主键的数据。

比如,你有一个Customer 表,它的主键是CustomerId。而且仅仅有三个items (CustomerId 1, 2, and 3)。

假设要导入的文件里相同包括CustomerID 为1,
2, and 3的items。这些在destination table中的items将会被导入文件里的数据替换。假设文件里还包括CustomerId为4的item,那么这个item会被增加到destination table中。

Destination table 能够在不同的AWS region。比如。如果你有个一个 Customer table在US West (Oregon) region,然后将它的数据导出到了Amazon S3中。你能够将它导入到在 EU (Ireland) region中有同样表明,同样主键的表中。这样的做法被称为
cross-region 导出和导入。

注意到AWS管理控制台同意你一次导出多个表的数据。可是,不同的是,你一次仅仅能导入一个表。

从S3导入数据到DynamoDB
  1. 登陆AWS管理控制台,然后打开dynamodb控制台: https://console.aws.amazon.com/dynamodb/.
  2. (可选) 假设你想做块区域导入。点击右上角的Select a Region 然后选择要导入的表的区域。控制台会显示该区域下的全部表。

    假设destination table不存在的话。你须要先创建它。

  3. 在 Amazon DynamoDB Tables 页面, 点击 Export/Import.
  4. 在 Export/Import 页面,选择一个你要导入的表,然后点击 Import into DynamoDB.
  5. 在 Create Import Table Data Pipeline 页面,按以下步骤操作:
    1. S3 Input Folder 文本框中输入导入文件相应的 Amazon S3 URI。比如: s3://mybucket/exports这个URI的规则应该是这样 s3://bucketname/folder
      :
      • bucketname 是S3中bucket的名称
      • folder 表示存放要导入的文件的名称
    2. 导入任务会通过指定的S3位置找到相应的文件。文件内部结构会在Verify
      Data Export File
       中描写叙述。
    3. 在 S3 Log Folder 文本框中输入一个S3 URI,导出过程的日志将被存储在对应的folder中。比如:s3://mybucket/logs/

      S3 Log Folder URI的格式和
      S3 Output Folder的格式同样。

    4. 在 Throughput Rate 文本框中可选择一个百分比。

      这个比率表示在导出过程中会消耗读吞吐量的上限。比如,如果你要导出的表的读吞吐量是20,同一时候你设置的百分比是40%。

      那么导出时所消耗的吞吐量将不会超过8.

      假设你在导出多个表。这个 Throughput Rate 将会被应用到每一个表中。

    5. Execution Timeout 文本框,输入导出任务的超时时长。假设导出任务在这个时长内还没运行完毕,此任务会失败。

    6. Send notifications to 文本框,输入一个email地址。在 pipeline被创建后。你将会收到一封email邀请订阅Amazon SNS。假设你接受了此邀请,在每次运行导出操作时你都将会收到email通知。

    7. Data Pipeline Role, 选择 DataPipelineDefaultRole.
    8. Resource Role, 选择 DataPipelineDefaultResourceRole
  6. 确认好以上设置然后点击 Create Export Pipeline.
你的 pipeline 如今将被创建;这个过程可能会花费几分钟完毕。

要查看当前状态。移步 Managing
Export and Import Pipelines
.

导入任务会在你的pipeline创建好后马上运行。

从S3中导入数据到Dynamodb的更多相关文章

  1. 使用json文件给es中导入数据

    使用json文件可以给es中导入数据,10万条左右的数据可以一次导入,数量太大时导入就会报错.大数量的到导入还是需要用bulk方式. accounts.json文件格式如下: {"index ...

  2. 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

    注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...

  3. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  4. Hive操作之向分区表中导入数据的语义错误

    1.建完分区表之后,向表中导入数据 命令为: load data local inpath '/home/admin/Desktop/2015082818' into table db_web_dat ...

  5. ArcCatalog中通过ArcSDE向Oracle数据库中导入数据

    将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...

  6. MongoDB中导入数据命令的使用(mongoimport)

    MongoDB中导入数据命令的使用(mongoimport) 制作人:全心全意 语法: mongoimport <options> <file> 介绍: 该命令可以将CSV,T ...

  7. 向Hive中导入数据的方式

    一.Hive客户端:根据数据源不同划分 1.从本地文件系统中导入数据到hive表中: load data local inpath "path" [OVERWRITE] into ...

  8. elasticsearch river 从数据库中导入数据

    Elasticsearch中使用reiver-jdbc导入数据 2014-05-13 15:10 本站整理 浏览(3384)     Elasticsearch中使用reiver-jdbc导入数据,有 ...

  9. [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。

    利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...

随机推荐

  1. Atcoder CODE FESTIVAL 2017 qual B D - 101 to 010 dp

    题目链接 题意 对于一个\(01\)串,如果其中存在子串\(101\),则可以将它变成\(010\). 问最多能进行多少次这样的操作. 思路 官方题解 转化 倒过来考虑. 考虑,最终得到的串中的\(' ...

  2. Android组件实例化问题

    对于Application. Activity. Notification. BroadCast. Service 这些组件的使用,对象的实例化问题各有不同,如何实例化以及在什么时候实例化也所有不同. ...

  3. Android之framework修改底部导航栏NavigationBar动态显示和隐藏

     原文链接 http://blog.csdn.net/way_ping_li/article/details/45727335 git diff diff --git a/frameworks/bas ...

  4. LeetCode OJ-- Simplify Path **

    https://oj.leetcode.com/problems/simplify-path/ 对linux路径的规范化,属于字符串处理的题目.细节很多. #include <iostream& ...

  5. LeetCode OJ——Two Sum

    http://oj.leetcode.com/problems/two-sum/ 求是否存在两个数的和为target,暴力法,两层循环 #include <iostream> #inclu ...

  6. AC日记——Destroying The Graph poj 2125

    Destroying The Graph Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8356   Accepted: 2 ...

  7. 初识mysql语句

    操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 show create database db1; # 查看所有的数据库 sho ...

  8. VMware虚拟机直连物理网络的两种方式

    VMware虚拟机直连物理网络的两种方式   使用VMware构建虚拟机,通常虚拟机都使用NAT模式.这时,虚拟机有独立的网段.使用NAT模式,虚拟机之间数据都通过虚拟网络传输,不会影响实体机所在的实 ...

  9. 一分钟学会Spring Boot多环境配置切换

    一. 问题由来 开发环境.测试环境.生产环境--------我们的软件在不同的环境中,系统参数和配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置,那每次我们将软件部署到 ...

  10. 笔记-迎难而上之Java基础进阶4

    内部类创建多线程 //匿名内部类创建多线程 public class InnerClassThread{ public static void main(String[] args){ //回忆一下之 ...