【问题标题】:Flink Table and Hive Catalog storageFlink 表和 Hive 目录存储
【发布时间】:2021-02-22 13:52:55
【问题描述】:

我有一个 kafka 主题和一个 Hive Metastore。我想将来自 kafka 主题的传入事件与元存储的记录一起加入。我看到了 Flink 使用目录来查询 Hive Metastore 的可能性。 所以我看到了两种处理方法:

  • 使用 DataStream api 使用 kafka 主题并在 processFunction 或类似的东西中以一种或另一种方式查询 Hive 目录
  • 使用 Table-Api,我将从 kafka 主题创建一个表并将其与 Hive 目录连接

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

哪种解决方案看起来最好? (也许两者都不是好选择)

【问题讨论】:

    标签: apache-kafka hive apache-flink hive-metastore flink-table-api


    【解决方案1】:

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

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

    joins-in-continuous-queries

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

    但您需要注意,旧版规划器不支持此功能。

    【讨论】:

    • 我的问题与 flink 的存储有关。如果我从我的 HiveCatalog 创建一个表,flink 会将其数据复制到任务管理器内存中吗?如果我从我的主题 kafka(大容量的连续流)创建一个表,Flink 会在 TM 内存上做一个副本吗?
    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 2016-04-17
    • 2016-01-05
    • 2019-11-12
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多