【问题标题】:DynamoDB loading old local database fileDynamoDB 加载旧的本地数据库文件
【发布时间】:2017-06-28 00:18:09
【问题描述】:

前段时间,我将一堆 JSON 数据加载到本地 DynamoDB 实例中进行练习。我做了一些查询并将数据存储到 CSV 中,最后关闭了我的连接。

所以我的笔记本电脑上有这个sample_data.db 文件,大小为 7GB,需要再次访问它。通常当我创建一个 DynamoDB 实例时,我会说:

java \
    -Djava.library.path=./DynamoDBLocal_lib \
    -jar DynamoDBLocal.jar \
    -dbPath /Users/myname/Documents/data/sample_data.db

所以我这样做是为了创建文件,但现在如何打开与该预先存在的文件的另一个连接?每当我执行上述操作时,它只会说:

Invalid directory for database creation.

显然,这意味着上述命令仅用于创建新数据库 - 如果这是一个微不足道的问题,我很抱歉,但是如何打开与旧数据库的连接?

我必须以某种方式将其上传到 AWS 吗?或者有什么办法?

编辑:我使用它作为参考,但没有看到指定预先存在的数据库路径的命令。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

【问题讨论】:

    标签: python amazon-web-services amazon-dynamodb


    【解决方案1】:

    问题的根源在于本地 DynamoDB 不允许您直接指定数据库文件名,只能指定文件应该存储/加载的路径。文件名源自您的 DynamoDB 本地和 AWS 区域的 AWS 访问密钥。或者,如果您指定 -sharedDb 选项,则单个数据库文件将存储为 shared-local-instance.db。 -dbPath 选项定义 DynamoDB 本地实例应在何处查找这些数据库文件。

    为了加载您的旧数据库文件,我建议重命名它以符合命名约定(以便 DynamoDB 识别它),并指定不带文件名部分的 -dbPath 选项。希望这将允许您访问您的数据。

    例子:

    mv sample_data.db shared-local-instance.db
    java \
        -Djava.library.path=./DynamodDBLocal_lib \
        -jar DynamoDBLocal.jar \
        -dbPath /Users/myname/Documents/data
    

    注意:数据库文件命名的定义有点模糊(至少,我对命名标准的非常有限的搜索没有出现太多)。您可能需要稍微尝试一下才能弄清楚预期的确切命名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 2014-10-23
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多