Flink SQL --Flink 整合 hive

1、整合
sql 复制代码
# 1、将依赖包上传到flink的lib目录下
flink-sql-connector-hive-3.1.2_2.12-1.15.2.jar

# 2、重启flink集群
yarn application -list
yarn application -kill application_1699579932721_0003
yarn-session.sh -d

# 3、重新进入sql命令行
sql-client.sh 
2、Hive catalog

catalog(元数据) ---> database ---> table ---> 数据 --- > 列

sql 复制代码
-- 1、开启hive的元数据服务
nohup hive --service metastore &

-- 2、创建hive catalog
CREATE CATALOG myhive WITH (
  'type' = 'hive',
  'hive-conf-dir' = '/usr/local/soft/hive-3.1.2/conf'
);

-- 查看所有的catalog
-- default_catalog: 默认的元数据,将元数据保存在内存中
show catalogs;

--3、切换catalog
use catalog myhive;

--4、在flink中就可以使用hive中已经创建好的表
select * from student;
-- 可以从catalog开始定位一张表
select * from myhive.`default`.student;


-- 将flink的表结构保存到hive catalog中
-- hive中可以看到flink创建的流表,但是在hive中不能查询flink的流表
create database flink;
use flink;
-- 创建flink动态表
CREATE TABLE students_kafka (
    `offset` BIGINT METADATA VIRTUAL, -- 偏移量
    `event_time` TIMESTAMP(3) METADATA FROM 'timestamp', --数据进入kafka的时间,可以当作事件时间使用
    sid STRING,
    name STRING,
    age INT,
    sex STRING,
    clazz STRING
) WITH (
  'connector' = 'kafka',
  'topic' = 'students', -- 数据的topic
  'properties.bootstrap.servers' = 'master:9092,node1:9092,node2:9092', -- broker 列表
  'properties.group.id' = 'testGroup', -- 消费者组
  'scan.startup.mode' = 'earliest-offset', -- 读取数据的位置earliest-offset latest-offset
  'format' = 'csv' -- 读取数据的格式
);
3、Hive functions

在Flink中的使用hive中的函数:

sql 复制代码
-- 加载hive函数
LOAD MODULE hive WITH ('hive-version' = '3.1.2');

-- 使用hive的函数
select split('java,spark',',');
相关推荐
山峰哥1 小时前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先
杨云龙UP1 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
微学AI2 小时前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql
qq_410194294 小时前
SQL语句性能优化
数据库·sql·性能优化
小江的记录本4 小时前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
FITA阿泽要努力5 小时前
《实战SQL: GROUP BY》
数据库·sql
standovon6 小时前
【MySQL基础篇】概述及SQL指令:DDL及DML
sql·mysql·oracle
l1t6 小时前
DeepSeek总结的 DuckDB 1.5 功能亮点
数据库·sql·duckdb
少年攻城狮7 小时前
Oracle系列---【两个环境,表结构一致,数据量一致,索引也一致,为什么同样的sql执行时间却不一致?】
数据库·sql·oracle
小江的记录本7 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis