Presto 和 hive 分区发现
Posted
技术标签:
【中文标题】Presto 和 hive 分区发现【英文标题】:Presto and hive partition discovery 【发布时间】:2016-04-01 09:42:03 【问题描述】:我主要使用 presto 与 hive 连接器连接到 hive 元存储。
我所有的表都是外部表,指向存储在 S3 中的数据。
我的主要问题是没有办法(至少我知道)在 Presto 中进行分区发现,所以在我开始在 presto 中查询表之前,我需要切换到 hive 并运行 @987654321 @
在 Presto 中有更合理的方法吗?
【问题讨论】:
【参考方案1】:没有。
如果 HIVE 元存储看不到分区,PrestoDB 将看不到它。
也许 cron 可以帮助你。
【讨论】:
另外,PrestoDB 和 Hive 分区之间似乎有缓存,我没有找到任何相关信息,但我总是需要等待 2 分钟才能在 Presto 上运行查询。【参考方案2】:我使用的是 0.227 版,以下对我有帮助:
select * from hive.yourschema."yourtable$partitions"
此选择返回目录中映射的所有分区。您可以像普通查询一样进行过滤、排序等。
【讨论】:
【参考方案3】:现在有一种方法可以做到这一点:
CALL system.sync_partition_metadata(schema_name=>'<your-schema>', table_name=>'<your-table>', mode=>'FULL')
感谢this post 和this video
【讨论】:
以上是关于Presto 和 hive 分区发现的主要内容,如果未能解决你的问题,请参考以下文章