nic*_*cos 4 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 插件。
我启动 Drill,使用正确的“工作区”(使用:use my-s3;),但是当我尝试从 test.cav 文件中选择记录时发生错误:
未找到表 's3./test.csv'。
谁能帮我?谢谢!
使用您的工作区的名称(如果您使用)并在 USE 命令中反勾,如下所示:
USE `my-s3`.`<workspace-name>`;
SHOW files; //should list test.csv file
SELECT * FROM `test.csv`;
Run Code Online (Sandbox Code Playgroud)
使用 dfs 存储插件配置查询本地文件系统中的 CSV 以排除导致问题的标题之类的东西。如果您还没有看过此页面,可能会有所帮助。
上面评论中提到的存储插件:
{
"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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
可能,这无关紧要。这是 Amazon S3 帮助的摘录,其中包含更多信息:
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>ID</value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>SECRET</value>
</property>
Run Code Online (Sandbox Code Playgroud)