海王星加载器 FROM_OR_TO_VERTEX_ARE_MISSING

时间:2021-04-05 22:12:45

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

我尝试按照此示例 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
            },

这个错误到底意味着什么?可能的修复方法是什么?

1 个答案:

答案 0 :(得分:3)

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

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

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