hive catalog在flink中的应用
概览
多年来,Hive Metastore已发展成为Hadoop生态系统的元数据中心。对于同时部署了Hive和Flink的用户,HiveCatalog使他们能够使用Hive Metastore管理Flink的元数据。
对于仅部署Flink的用户,HiveCatalog是Flink开箱即用的唯一持久目录。 如果没有持久性目录,使用Flink SQL CREATE DDL的用户必须在每个会话中重复创建像Kafka表这样的元对象,这会浪费大量时间。 HiveCatalog通过授权用户仅创建一次表和其他元对象,并在以后的跨会话中方便地进行引用和管理来填补这一空白。
怎样使用HiveCatalog
一旦正确配置,HiveCatalog应该即开即用。用户可以使用DDL创建Flink元对象,然后可以立即查看它们。
HiveCatalog可用于处理两种表:Hive兼容表和通用表。就存储层中的元数据和数据而言,兼容Hive的表是以兼容Hive的方式存储的表。因此,可以从Hive端查询通过Flink创建的Hive兼容表。
另一方面,通用表仅Flink程序可用。使用HiveCatalog创建通用表时,我们只是使用HMS来保留元数据。虽然这些表格对Hive可见,但Hive不能够理解元数据。因此,在Hive中使用此类表会导致未定义的行为。
Flink使用属性is_generic
来表示一个表是Hive兼容表还是通用表。使用HiveCatalog创建表格时,默认情况下将其视为通用表格。如果要创建与Hive兼容的表,请确保在表属性中将is_generic
设置为false。
如上所述,不应在Hive中使用通用表。在Hive CLI中,您