相关疑难解决方法(0)

Amazon Elastic MapReduce - 从S3到DynamoDB的大量插入速度非常慢

我需要在一个DynamoDB表中执行大约1.3亿个项目(总共5个Gb)的初始上传.在我使用应用程序中的API上传问题后,我决定尝试使用EMR.

长话短说,即使在最强大的集群上,导入非常平均(对于EMR)的数据量也需要很长时间,耗费数百小时且进展很少(大约20分钟处理测试2Mb数据位,并且没有管理在12小时内完成测试700Mb文件).

我已经联系了亚马逊高级支持,但到目前为止他们只是说"出于某种原因,DynamoDB导入很慢".

我在交互式蜂巢会话中尝试了以下说明:

CREATE EXTERNAL TABLE test_medium (
  hash_key string,
  range_key bigint,
  field_1 string,
  field_2 string,
  field_3 string,
  field_4 bigint,
  field_5 bigint,
  field_6 string,
  field_7 bigint
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
LOCATION 's3://my-bucket/s3_import/'
;

CREATE EXTERNAL TABLE ddb_target (
  hash_key string,
  range_key bigint,
  field_1 bigint,
  field_2 bigint,
  field_3 bigint,
  field_4 bigint,
  field_5 bigint,
  field_6 string,
  field_7 bigint
)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES (
  "dynamodb.table.name" = "my_ddb_table",
  "dynamodb.column.mapping" = "hash_key:hash_key,range_key:range_key,field_1:field_1,field_2:field_2,field_3:field_3,field_4:field_4,field_5:field_5,field_6:field_6,field_7:field_7"
)
;  

INSERT OVERWRITE TABLE …
Run Code Online (Sandbox Code Playgroud)

hive amazon-s3 amazon-emr amazon-dynamodb

17
推荐指数
1
解决办法
6383
查看次数

标签 统计

amazon-dynamodb ×1

amazon-emr ×1

amazon-s3 ×1

hive ×1