Presto和Hive

3
我试图启用对位于S3目录中的CSV文件进行基本SQL查询。Presto似乎是一个自然的选择(这些文件大小为10GB)。在我设置Presto时,我尝试使用Hive连接器创建表格。文档没有明确告诉我是否只需要在Hive metastore中保存我的表格配置以在Presto中使用,还是必须先在那里创建它们。
文献资料表明,您可以在不配置Hive的情况下使用Presto,但使用Hive语法。这是准确的吗?我的经验是AWS S3无法连接。

1
附注:您也可以考虑使用 Amazon Athena,它是 Presto 的无服务器实现。但目前仅在少数地区提供服务。 - John Rotenstein
我很想使用Amazon Athena,但它不符合我的特定用例(医疗保健)。 - Dennis P
我的经验是AWS S3无法连接。-- 究竟是什么问题?Presto Hive连接器支持S3(至少s3a://)开箱即用,如果您使用IAM角色授予EC2机器访问S3的权限。 - Piotr Findeisen
3个回答

1
无法使用原始版的Presto分析S3上的数据而不使用Hive。Presto仅提供分布式执行引擎,但是它缺乏有关表的元数据信息。因此,Presto协调器需要Hive来检索表元数据以解析和执行查询。
但是,您可以使用AWS Athena(托管的Presto)在S3上运行查询。
另一个选择,在最近的 0.198 release Presto中添加了连接AWS Glue并检索S3文件中表元数据的功能。

1

Presto的语法与Hive的语法类似。对于大多数简单的查询,两者使用相同的语法都可以实现。但是,有一些关键的差异使得Presto和Hive并不完全相同。例如,在Hive中,您可能会使用LATERAL VIEW EXPLODE,而在Presto中,您需要使用CROSS JOIN UNNEST。这只是两者之间微妙语法差异的许多例子。


0

我知道已经有一段时间了,但如果这个问题仍未解决,您是否考虑使用Spark?Spark可以轻松连接开箱即用的方法,并且可以查询/处理存储在S3 / CSV格式中的数据。

另外,我很好奇:您最终采用了什么解决方案来解决您的问题?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接