Apache Drill:在s3存储桶上找不到表

时间:2015-07-24 18:06:29

标签: amazon-s3 apache-drill

我是Apache Drill的再见。

情景如下:

我有一个S3存储桶,我在其中放置了名为test.csv的csv文件。 我已经在官方网站上安装了Apache Drill。

我按照本教程:https://drill.apache.org/blog/2014/12/09/running-sql-queries-on-amazon-s3/创建了一个S3插件。

我开始练习,使用正确的"工作空间" (使用:my-s3;),但是当我尝试从test.cav文件中选择记录时发生错误:

  

表' s3./test.csv'没找到。

任何人都可以帮助我吗? 谢谢!

1 个答案:

答案 0 :(得分:4)

使用工作区的名称(如果使用的话)和USE命令中的后退标记,如下所示:

USE `my-s3`.`<workspace-name>`; 
SHOW files; //should list test.csv file
SELECT * FROM `test.csv`;

使用dfs存储插件配置查询本地文件系统中的CSV,以排除导致问题的标题等问题。如果您还没有看到,page可能会有所帮助。

上面评论中提到的存储插件:

    {
  "type": "file",
  "enabled": true,
  "connection": "s3n://<accesskey>:<secret>@catpaws",
  "workspaces": {},
  "formats": {
    "psv": {
      "type": "text",
      "extensions": [
        "tbl"
      ],
      "delimiter": "|"
    },
    "csv": {
      "type": "text",
      "extensions": [
        "csv"
      ],
      "delimiter": ","
    },
    "tsv": {
      "type": "text",
      "extensions": [
        "tsv"
      ],
      "delimiter": "\t"
    },
    "parquet": {
      "type": "parquet"
    },
    "json": {
      "type": "json"
    }
  }
}

可能这不相关。它是Amazon S3帮助的摘录,其中包含更多信息:

<property>
  <name>fs.s3.awsAccessKeyId</name>
  <value>ID</value>
</property>

<property>
  <name>fs.s3.awsSecretAccessKey</name>
  <value>SECRET</value>
</property>