flink使用HiveCatalog配置

概览

多年来,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中,您

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
java flink是一个高性能的分布式流式计算框架,可以实现大规模的数据处理和分析。而hive是一个分布式数据仓库工具,可以用于存储和查询大规模的结构化数据。redis是一个高性能的内存数据库,可以用于存储和检索数据。 要实现java flink读取hive表中的数据写入redis,我们可以按照以下步骤进行操作: 1. 在java flink中,首先需要配置并连接到hive数据库。可以使用FlinkHiveCatalog来创建一个连接到Hivecatalog,并设置相关的hive metastore地址、用户名和密码等。 2. 根据需要,编写flink程序来读取hive表的数据。可以使用flink的DataStream或Table API来读取hive表数据,并将其转换为适当的数据流或表。 3. 在准备好数据之后,我们可以使用flink的RedisSink来将数据写入redis中。在使用RedisSink之前,需要先引入flink-connector-redis的依赖包,并在flink配置文件中配置好redis的连接参数,如redis的主机地址、端口号、密码等。 4. 编写代码将数据写入redis。可以根据数据的特点,选择将整个数据写入一个redis数据结构中,或者将数据分解为多个key-value对存储到redis中。 5. 在代码编写完成后,我们可以使用flink提供的命令或者IDE工具来运行flink程序,它会自动连接到hive数据库和redis,并完成数据的读取和写入。 通过以上步骤,java flink就可以实现读取hive表中的数据并写入redis。这样可以通过flink的分布式计算和hive的数据存储能力,结合redis的高速读写能力,实现大规模数据的处理和查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左林右李02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值