使用 presto 查询本地 parquet

Posted

技术标签:

【中文标题】使用 presto 查询本地 parquet【英文标题】:Query local parquet using presto 【发布时间】:2017-04-22 00:40:55 【问题描述】:

使用 spark 和 Drill,我可以查询本地 parquet 文件。

presto 是否提供相同的功能? 换句话说,是否可以 文件——无需通过 HDFS 或 hive?

【问题讨论】:

这方面有什么更新吗? 【参考方案1】:

我没有找到一个简单的方法来做到这一点。这已经很长时间了,我不确定目前是否还有其他选择。

我所做的是;创建一个自定义配置单元元存储,它将返回模式、带有我的 parquet 文件路径的表。在 presto 中,使用该元存储对其进行了配置,并且效果很好。

【讨论】:

【参考方案2】:

据我了解,Presto 的本地文件仅适用于 http_request_logs(这就是为什么他们有设置:presto-logs.http-request-log.location)。我无法使用 Presto 查询本地镶木地板数据。

我能够使用 Apache Drill 查询数据。开箱即用,您可以使用本地文件系统切换以下目录并在其上运行常规 SQL:

# Start with /bin/drill-embedded
0: jdbc:drill:zk=local> select * from dfs.`/somedir/withparquetfiles/`

【讨论】:

谢谢@Will,是的,我也能做到。我还能够通过实现将 presto 指向我自己的文件的自定义 Hive 元存储来从 presto 查询文件。

以上是关于使用 presto 查询本地 parquet的主要内容,如果未能解决你的问题,请参考以下文章

presto和hive将查询结果保存到本地的方法

本地数仓项目(四)—— 即席查询

presto访问 Azure blob storage

带有presto的GCP dataproc - 有没有办法使用pyhive通过python远程运行查询?

如何使用presto查询hive数据

Presto 无法查询配置单元表