Flink Table and Hive Catalog storage



我有一个kafka主题和一个Hive Metastore。我想把来自kafka主题的传入事件与metastore的记录连接起来。我看到了Flink使用目录查询Hive Metastore的可能性。因此,我看到了两种处理方法:

  • 使用DataStream api来消费kafka主题并在processFunction或类似的东西中以这种或那种方式查询Hive Catalog
  • 使用table - api,我将从kafka主题创建一个表,并将其与Hive Catalog连接。

我最大的担忧是与存储相关的。在这两种情况下,什么存储在内存中,什么没有?Hive目录是否在Flink的集群端存储任何东西?在第二种情况下,表是如何处理的?flink会创建副本吗?

哪个解决方案似乎是最好的?(也许两者都是好的选择,或者两者都不是)

不同的方法适用于不同的场景,有时取决于您的hive表是静态表还是动态表。

如果你的hive只是一个维度表,你可以尝试这一章。

joins-in-continuous-queries

会自动关联hive的最新分区,适用于维度数据更新缓慢的场景

但是您需要注意,Legacy计划器不支持此功能。

最新更新