我在OSX上使用Apache Drill 1.10。我有一个包含大约150个文件的S3存储桶,我已经设置了a connection between the two as per the Drill documentation。
我可以看到存储桶中的所有文件,来自Drill:
jdbc:drill:zk=local> USE `s3`.`root`;
+-------+--------------------------------------+
| ok | summary |
+-------+--------------------------------------+
| true | Default schema changed to [s3.root] |
+-------+--------------------------------------+
1 row selected (1.123 seconds)
jdbc:drill:zk=local> SHOW files;
<shows table of 15 files>
我可以成功查询单个文件:
jdbc:drill:zk=local> select * from s3.`ocds-b5fd17-00ec7c92-54f3-4c50-8214-8b8c0cf9ff09-140281-qc54303.json`;
<returns results>
但是如何在整个目录中查询?在本地文件系统上,我只提供了一个像dfs
。/path/*.json
这样的通配符,但这似乎不适用于S3:
jdbc:drill:zk=local> select * from s3.`*.json`;
Error: VALIDATION ERROR: Can not create a Path from an empty string
SQL Query null
答案 0 :(得分:1)
以下查询将在根目录上运行:
select * from s3.`.`;
答案 1 :(得分:-1)
我想出来了,在这里记录它是为了其他任何有同样问题的人的利益。
在存储桶的根目录中创建一个目录,例如, releases
,并将文件放在那里。
然后您可以使用以下命令查询目录中的所有文件:
select * from s3.`releases`;