Flink SQL+Hudi数据入湖与分析实践

数据湖构建(Hudi)可以结合实时计算Flink版,以及Flink CDC相关技术,实现灵活定制化的数据入湖。并利用DLF统一元数据管理、权限管理等能力,实现数据湖多引擎分析、数据湖管理等功能。本文为您介绍Flink+DLF数据湖方案具体步骤。

背景信息

操作流程

步骤一:准备MySQL数据

sql 复制代码
CREATE DATABASE testdb;
CREATE TABLE testdb.student (
  `id` bigint(20) NOT NULL,
  `name` varchar(256) DEFAULT NULL,
  `age` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

INSERT INTO testdb.student VALUES (1,'name1',10);
INSERT INTO testdb.student VALUES (2,'name2',20);

步骤二:创建Flink入湖作业

sql 复制代码
-- 创建数据源表
CREATE TABLE IF NOT EXISTS student_source (
  id INT,
  name VARCHAR (256),
  age INT,
  PRIMARY KEY (id) NOT ENFORCED
)
WITH (
  'connector' = 'mysql-cdc',
  -- hostname替换为RDS的连接地址
  'hostname' = 'rm-xxxxxxxx.mysql.rds.aliyuncs.com',
  'port' = '3306',
  'username' = '<RDS user name>',
  'password' = '<RDS password>',
  'database-name' = '<RDS database>',
  -- table-name为数据源表,本例中填步骤二创建的student表
  'table-name' = 'student'
);

-- catalog名为步骤二创建的dlf catalog name,本例中填dlf
CREATE DATABASE IF NOT EXISTS dlf.dlf_testdb;

-- 创建目标表
CREATE TABLE IF NOT EXISTS dlf.dlf_testdb.student_hudi (
  id    BIGINT PRIMARY KEY NOT ENFORCED,
  name  STRING,
  age    BIGINT
) WITH(
  'connector' = 'hudi'
);

-- 创建流SQL作业
INSERT INTO dlf.dlf_testdb.student_hudi SELECT * FROM student_source  /*+ OPTIONS('server-id'='123456') */;

步骤三:使用DLF数据湖分析

sql 复制代码
select * from dlf_testdb.student_hudi;
相关推荐
珠海西格电力5 小时前
零碳园区的能源结构优化需要哪些技术支持?
大数据·人工智能·物联网·架构·能源
集和诚JHCTECH7 小时前
边缘智能,触手可及|BRAV-7821高能效AI边缘计算系统正式发布
大数据·人工智能·边缘计算
TDengine (老段)8 小时前
使用安装包快速体验 TDengine TSDB
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
雨大王5128 小时前
工业大数据如何定义及其在制造业中的核心价值
大数据
AI智能探索者9 小时前
大数据领域数据可视化:打造高效的数据可视化方案
大数据·ai·信息可视化
码农阿豪9 小时前
时序数据库选型权威指南:从大数据视角解读IoTDB的核心优势
大数据·时序数据库·iotdb
建群新人小猿9 小时前
陀螺匠企业助手—个人简历
android·大数据·开发语言·前端·数据库
阿白逆袭记11 小时前
Git原理与使用详解(十):Git大师之路——总结与最佳实践
大数据·git·elasticsearch
测试人社区-浩辰11 小时前
AI与区块链结合的测试验证方法
大数据·人工智能·分布式·后端·opencv·自动化·区块链
AI营销干货站12 小时前
原圈科技:决胜未来的金融AI市场分析实战教程
大数据·人工智能