【问题标题】:Neptune loader FROM_OR_TO_VERTEX_ARE_MISSING海王星装载机 FROM_OR_TO_VERTEX_ARE_MISSING
【发布时间】:2021-04-06 07:31:16
【问题描述】:

我尝试按照这个示例https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-data.html 将数据加载到海王星

curl X POST     -H 'Content-Type: application/json'     https://endpoint:port/loader -d '
{
  "source" : "s3://source.csv",
  "format" : "csv",
  "iamRoleArn" : "role",
  "region" : "region",
  "failOnError" : "FALSE",
  "parallelism" : "MEDIUM",
  "updateSingleCardinalityProperties" : "FALSE",
  "queueRequest" : "TRUE"
}'
{
"status" : "200 OK",
"payload" : {
    "loadId" : "411ee078-3c44-4620-85ac-e22ef5466bbb"
}

我得到状态 200,但随后我尝试检查数据是否已加载并得到这个:

curl G 'https://endpoint:port/loader/411ee078-3c44-4620-85ac-e22ef5466bbb'
{
"status" : "200 OK",
"payload" : {
    "feedCount" : [
        {
            "LOAD_FAILED" : 1
        }
    ],
    "overallStatus" : {
        "fullUri" : "s3://source.csv",
        "runNumber" : 1,
        "retryNumber" : 1,
        "status" : "LOAD_FAILED",
        "totalTimeSpent" : 4,
        "startTime" : 1617653964,
        "totalRecords" : 10500,
        "totalDuplicates" : 0,
        "parsingErrors" : 0,
        "datatypeMismatchErrors" : 0,
        "insertErrors" : 10500
    }
}

我不知道为什么会收到 LOAD_FAILED,所以我决定使用 get-status API 查看导致加载失败的错误并得到了这个:

curl -X GET 'endpoint:port/loader/411ee078-3c44-4620-85ac-e22ef5466bbb?details=true&errors=true'
{
"status" : "200 OK",
"payload" : {
    "feedCount" : [
        {
            "LOAD_FAILED" : 1
        }
    ],
    "overallStatus" : {
        "fullUri" : "s3://source.csv",
        "runNumber" : 1,
        "retryNumber" : 1,
        "status" : "LOAD_FAILED",
        "totalTimeSpent" : 4,
        "startTime" : 1617653964,
        "totalRecords" : 10500,
        "totalDuplicates" : 0,
        "parsingErrors" : 0,
        "datatypeMismatchErrors" : 0,
        "insertErrors" : 10500
    },
    "failedFeeds" : [
        {
            "fullUri" : "s3://source.csv",
            "runNumber" : 1,
            "retryNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalTimeSpent" : 1,
            "startTime" : 1617653967,
            "totalRecords" : 10500,
            "totalDuplicates" : 0,
            "parsingErrors" : 0,
            "datatypeMismatchErrors" : 0,
            "insertErrors" : 10500
        }
    ],
    "errors" : {
        "startIndex" : 1,
        "endIndex" : 10,
        "loadId" : "411ee078-3c44-4620-85ac-e22ef5466bbb",
        "errorLogs" : [
            {
                "errorCode" : "FROM_OR_TO_VERTEX_ARE_MISSING",
                "errorMessage" : "Either from vertex, '1414', or to vertex, '70', is not present.",
                "fileName" : "s3://source.csv",
                "recordNum" : 0
            },

这个错误是什么意思,有什么可能的解决方法?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 amazon-neptune


    【解决方案1】:

    看起来好像您正在尝试加载一些边缘。加载边时,边将连接的两个顶点必须已经加载/创建。消息:

    "errorMessage" : "Either from vertex, '1414', or to vertex, '70',is not present.",
    

    通知您缺少 ID 值为“1414”和“70”的一个(或两个)顶点。包含边的 CSV 文件引用的所有顶点必须在加载引用它们的边之前已经存在(已创建或加载)。如果顶点和边的 CSV 文件位于相同的 S3 位置,则批量加载程序可以确定加载它们的顺序。如果您只是要求加载程序加载包含边的文件但尚未加载顶点,您将收到与您分享的错误类似的错误。

    【讨论】:

    • 非常感谢!我在 S3 中创建了一个文件夹并将所有文件移到那里,然后尝试加载该文件夹而不是单独的文件并且它起作用了!
    • 即使我将 s3 文件夹提供给加载程序,我也会收到错误消息。当我将 edge.csv 移动到另一个位置并最后导入时,我没有任何问题。任何想法为什么会发生这种情况?
    • 嗨@meike - 这是一个老问题 - 也许为您当前的问题打开一个新问题?
    • 我实际上刚刚解决了这个问题,方法是在单独的文件夹中分离边和顶点并导入这两个文件夹的父文件夹。不知道为什么它以前不起作用,但现在它起作用了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多