首页 > 解决方案 > 从 JSON 或 CSV 将 50K 记录加载到 DynamoDB

问题描述

我有一个 csv 或 50K 记录以及 50K 记录的 JSON 文档。文件或文档是一组地理位置。

我的目标是将所有 50K 记录加载到 DynamoDB 中。我不知道我在哪里做错了。目前看来,我一次最多可以加载 25 条记录,这是将所有 50K 记录加载到 DynamoDB 中的一个非常长时间的过程。

JSON 文件大小约为 70 MB。

有没有办法从包含对象数组的 JSON 中加载所有 50K 记录?或者以任何方式从 CSV 加载?我能够从java代码加载。但我主要是在寻找一些我应该能够加载的 dynamodb 命令或工具。

一个 JSON 对象如下所示:

"PutRequest": { 
    "Item": { 
        "id": {"S":"1"},
        "zipcode": {"S":"501"},
        "city": {"S":"HOLTSVILLE"},
        "state": {"S":"NY"},
        "county_name": {"S":"SUFFOLK"},
        "area_codes": {"S":"631"},
        "city_type": {"S":"Non Postal Community Name"},
        "city_abbr": {"S":""},
        "city_alias": {"S":"I R S SERVICE CENTER"},
        "latitude": {"S":"40.81518"},
        "longitude": {"S":"-73.0455"},
        "time_zone_offset": {"S":"5"},
        "elevation": {"S":"25"},
        "county_fips": {"S":"103"},
        "daylight_savings_flag": {"S":"Y"},
        "preferred_last_line_key": {"S":"V13916"},
        "classification_code": {"S":"U"},
        "multi_county_flag": {"S":" "},
        "state_fips": {"S":"36"},
        "city_state_key": {"S":"V13995"},
        "time_zone": {"S":"America/New_York"},
        "daylight_savings": {"S":"1"},
        "updated_at": {"S":"2/26/2009 0:00"},
        "city_alias_code": {"S":"NULL"},
        "primary_record": {"S":"NULL"},
        "city_mixed_case": {"S":"NULL"},
        "city_alias_mixed_case": {"S":"NULL"},
        "state_ansi": {"S":"NULL"},
        "county_ansi": {"S":"NULL"},
        "facility_code": {"S":"NULL"},
        "unique_zip_name": {"S":"NULL"},
        "city_delivery_indicator": {"S":"NULL"},
        "carrier_route_rate_sortation": {"S":"NULL"},
        "finance_number": {"S":"NULL"},
        "unique_id": {"S":"NULL"},
        "created_at": {"S":"NULL"},
        "country_code": {"S":"US"}
    }
}

先感谢您。

标签: amazon-dynamodb

解决方案


AWS 几个月前就这个主题发表了一篇文章。你可以在这里查看


推荐阅读