MongoDB Atlas Data Lake-安装CSV文件

时间:2019-06-19 18:10:39

标签: mongodb atlas-data-lake

我正在尝试在S3存储桶中挂载一组CSV或TSV文件。数据湖配置似乎还可以,但是任何查询都会失败,并显示an internal error occurred

> use s3-logs
switched to db s3-logs
> show collections
bucket1
> db.bucket1.find()
Error: error: { "ok" : 0, "errmsg" : "an internal error occurred", "code" : 1 }

enter image description here

这是我的配置:

> db.runCommand( { "storageGetConfig" : 1 } )
{
    "ok" : 1,
    "storage" : {
        "stores" : [
            {
                "s3" : {
                    "name" : "s3-logs",
                    "region" : "us-east-1",
                    "bucket" : "my-bucket",
                    "delimiter" : "/",
                    "prefix" : "/"
                }
            }
        ],
        "databases" : {
            "s3-logs" : {
                "bucket1" : [
                    {
                        "store" : "s3-logs",
                        "definition" : "/{filename string}"
                    }
                ]
            }
        }
    }
}

S3存储桶中已装有文件(S3访问日志)

$aws s3 ls my-bucket
2019-04-25 19:19:19        628 2019-04-25-23-19-18-F631D2AC624DBBCC
2019-04-25 19:20:36        608 2019-04-25-23-20-35-C398E9310C88B129
2019-04-25 19:21:01        628 2019-04-25-23-21-00-2787DD06D7E64751
2019-04-25 19:21:35        634 2019-04-25-23-21-33-227CA4A8439EC62E
2019-04-25 19:21:44       1215 2019-04-25-23-21-43-B1A51F63581E7447
2019-04-25 19:21:59        628 2019-04-25-23-21-58-7DA51B952DD9FAA1

文件示例-注意-没有标题。

53deb06d07d2d3404c3c9face2eae419ba989a5efe0a07bff7f148c6433488ab anton-iot-demo [25/Apr/2019:22:11:42 +0000] 24.246.45.35 arn:aws:iam::824967973088:user/antonum 148770891A83B6F4 REST.GET.ENCRYPTION - "GET /anton-iot-demo?encryption= HTTP/1.1" 404 ServerSideEncryptionConfigurationNotFoundError 357 - 3 - "-" "S3Console/0.4, aws-internal/3 aws-sdk-java/1.11.526 Linux/4.9.152-0.1.ac.221.79.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.202-b08 java/1.8.0_202 vendor/Oracle_Corporation" - 0EH+FcDKZvG3EJaLOg7D8CvgSncCp5DWiaZOg1tWR/sAtTCLrsmUnI+s8/FA2LOETrNZUNSiHhI= SigV4 ECDHE-RSA-AES128-SHA AuthHeader s3.amazonaws.com TLSv1.2
53deb06d07d2d3404c3c9face2eae419ba989a5efe0a07bff7f148c6433488ab anton-iot-demo [25/Apr/2019:22:11:42 +0000] 24.246.45.35 arn:aws:iam::824967973088:user/antonum 3970F31AEE6A9434 REST.GET.TAGGING - "GET /anton-iot-demo?tagging= HTTP/1.1" 404 NoSuchTagSet 294 - 82 - "-" "S3Console/0.4, aws-internal/3 aws-sdk-java/1.11.526 Linux/4.9.152-0.1.ac.221.79.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.202-b08 java/1.8.0_202 vendor/Oracle_Corporation" - 78c0hM+56hRGipoSUcBOeHHRZ9sfUmzrGtPOozqe+KkGkfFGqGyRstZQhI52os8XcR+5GPEUnJU= SigV4 ECDHE-RSA-AES128-SHA AuthHeader s3.amazonaws.com TLSv1.2                    

我到底在做什么错?我希望能够指定文件头和文档的详细信息(例如定界符),但是在documentation上找不到任何内容。

1 个答案:

答案 0 :(得分:1)

这是文件格式问题。我认为文件不是CSV或TSV。看起来字段是由空格而不是制表符分隔的。我们还希望有一个名称行(这是您可以在特定字段上编写查询的方式)。您还可以使用文件扩展名和/或特定的defaultFormat来告诉我们文件格式是什么。