本节如果你已经从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. django前端渲染多对多关系(比如一本书的作者有哪些)

    自己遇到的问题是,前端渲染不出多对多关系,咨询Yuan后解决,特此记录. urls.py from django.conf.urls import url from book import views ...

  2. Java-线索二叉树的实现

    概念性的东西,自行百度. 按照国际管理,直接上代码来分析. 1.Node节点类 package com.tree.thread; /** * Author: lihao * Date:2017/8/3 ...

  3. [转]常用iOS图片处理方法

    自:http://blog.sina.com.cn/s/blog_8988732e0100xcx1.html  ========== (one) UIImage 图像 等比例缩放=========== ...

  4. hdu 1254(搜索题)

    推箱子 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  5. LeetCode OJ——Two Sum

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

  6. (5)Unity3d GUI

  7. Linux 性能优化解析

    前情概述 进程调度 老板 cpu 任劳任怨的打工仔 线程 工作在做什么 可运行队列 拥有的工作清单 上下文切换 和老板沟通以便得到老板的想法并及时调整自己的工作 中断 部分工作做完以后还需要及时向老板 ...

  8. IntelliJ IDEA常用统一设置2-Inspections检查设置(Linux/Mac/Windows)

    Inspections检查设置功能,能检查一些普通问题,比如代码风格等等.当然,这个虽然没有CheckStyle这些插件专业,但也是另一种选择. 官方参考:https://www.jetbrains. ...

  9. Oracle内部latch获取函数简介

      标签: oracle call 函数   oracle statpack   转自: http://blog.51cto.com/458302/998775 Oracle的内部函数一直非常神秘,其 ...

  10. 邁向IT專家成功之路的三十則鐵律 鐵律十三:IT人理財之道-知足

    身為一位專業的IT人士,工作上不僅要做到滿足興趣與專業熱忱,當然也要做到能夠滿足荷包.現代人賺錢不是問題,但花錢卻出了很大問題,親愛的IT朋友們,請不要將您辛苦賺來的錢花在想要的東西上,實際上需要的卻 ...