从S3中导入数据到Dynamodb

本节如果你已经从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创建好后马上运行。

时间: 2024-08-24 18:58:54

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

中文 数据库 乱码 excel中导入数据到mysql 问题

数据库编码  表编码  ide编码 必须一致,即可解决问题 场景:把这些数据导入数据库,并且得到城市名称拼音的首字母 从excel中导入数据到mysql,使用了jxl这个库 使用了pinyin4这个库,但是发现有bug import java.io.UnsupportedEncodingException; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import ja

elasticsearch river 从数据库中导入数据

Elasticsearch中使用reiver-jdbc导入数据 2014-05-13 15:10 本站整理 浏览(3384) Elasticsearch中使用reiver-jdbc导入数据,有需要的朋友可以参考下. Elastisearch中提供了river模块来从其他数据源中获取数据,该项功能以插件的形式存在,目前已有的river插件包括: river pluginsedit 1. Supported by Elasticsearch CouchDB River Plugin RabbitMQ

【ADO.NET】3、从TXT中导入数据到数据库

private void btnInput_Click(object sender, EventArgs e) { if (opFile.ShowDialog() != DialogResult.OK) //判断用户点击 确定 还是 取消,不点确定,则返回程序 { return; } using(FileStream FStream = File.OpenRead(opFile.FileName)) //打开文件进行读取 { //定义字符编码为GB2312 using (StreamReader

infobright中导入数据避免特殊字符问题

目前在用的是社区版的infobright,不支持DML功能,只能用LOAD DATA方式导入数据. 如果元数据中有特殊控制字符,导入过程中经常会报错,很是恼火.应对策略有两种方法: 设置Reject File导入之前,设定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少条导入失败的记录,并且将这些记录保存在指定文件 /** when the number of rows rejected reaches 10, abort process **

solr6.6教程-从mysql数据库中导入数据(三)

整理多半天的solr6.6,终于算是把solr6.6中配置数据库弄出来了,网上的文章千篇一律,各说个的,没有一篇统一覆盖solr6.6版本配置的 帖子,本章节我会把配置的一些注意事项一一列举,由于时间原因,本片只介绍如何一次性导入数据,不附带增量导入,想看增量的同学可以在后面的文章中. 1,配置准备 本文的前提是你已经配置好了solr,并新创建了一个core,我们下面都会按照前一篇文章中的core_demo为基础开始 2,修改soreconfig.xml 在soreconfig.xml的<req

solr4从mysql数据库中导入数据

实际项目中,我们需要把已存在于数据库中的数据导入到solr索引库中,solr给我们提供了一个非常简便的方式DIH,下面我们以mysql数据为例. 1.进入你的core(如collection1),新建一个目录lib. 2.拷贝mysql-connector-java-5.1.14.jar到新建的lib目录中. 3.从solr的解压文件目录中找到“E:\solrbase\example-DIH\solr\db\conf”下的db-data-config.xml文件到你的core(如collecti

从MySQL向Greenplum集群中导入数据

我们要从MySQL当中导出数据到Greenplum当中,按照以下步骤就可以 1:将MySQL当中的表导出外部文件 以schema_name.table_name为例 select product_id, number, name, english_name, purchase_name, system_name, bar_code, category_one, category_two, category_three, parent_id, parent_number, brand_id, su

Elasticsearch --- 向es中导入数据

一.从文件导入(用django启动) def zi_dr(request): f = open('c.txt', 'r', encoding='utf-8') action = [ { "_index": "c12", "_type": "doc", "_source": { "title": i.strip(), # 去掉 空 } } for i in f] s = time.time

python从Microsoft Excel文件中导入数据

excel中后缀为csv和xls,二者区别如下:1.xls 文件就是Microsoft excel电子表格的文件格式.2.csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中. 此文件,一行即为数据表的一行.生成数据表字段用半角逗号隔开.csv是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打csv文件是以逗号为分隔符号,将各字段列分离出的一种ASCII文件.csv(*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值.工作表中所有的数