Presto 和 Hive 分区发现
Presto and hive partition discovery
我主要使用带有 Hive 连接器的 Presto 来连接到 Hive Metastore。
我所有的 table 都是外部 table 指向存储在 S3 中的数据。
我的主要问题是没有办法(至少我知道)在 Presto 中进行分区发现,所以在我开始查询 table 在 presto 中我需要切换蜂巢和 运行 msck repair table mytable
在 Presto 中有更合理的方法吗?
没有
如果 HIVE 元存储看不到分区,PrestoDB 将看不到它。
也许 cron 可以帮助您。
我使用的是 0.227 版,以下内容对我有帮助:
select * from hive.yourschema."yourtable$partitions"
这select returns 所有分区映射到您的目录中。您可以像普通查询一样过滤、排序等。
现在有一种方法可以做到这一点:
CALL system.sync_partition_metadata(schema_name=>'<your-schema>', table_name=>'<your-table>', mode=>'FULL')
归功于 this post and this video
我主要使用带有 Hive 连接器的 Presto 来连接到 Hive Metastore。
我所有的 table 都是外部 table 指向存储在 S3 中的数据。
我的主要问题是没有办法(至少我知道)在 Presto 中进行分区发现,所以在我开始查询 table 在 presto 中我需要切换蜂巢和 运行 msck repair table mytable
在 Presto 中有更合理的方法吗?
没有
如果 HIVE 元存储看不到分区,PrestoDB 将看不到它。
也许 cron 可以帮助您。
我使用的是 0.227 版,以下内容对我有帮助:
select * from hive.yourschema."yourtable$partitions"
这select returns 所有分区映射到您的目录中。您可以像普通查询一样过滤、排序等。
现在有一种方法可以做到这一点:
CALL system.sync_partition_metadata(schema_name=>'<your-schema>', table_name=>'<your-table>', mode=>'FULL')
归功于 this post and this video