FLinkSQL流-小试牛刀

FLinkSQL-Kafka

sql 复制代码
CREATE TABLE `source_aaa_mysql_kafka_test` (
    `last_name` string,
    `id` int,
    `hire_date` date,
    `department` string,
    `salary` float,
    `is_manager` int,
    `first_name` string,
    `email` string
)
WITH    (
            'connector' = 'kafka',
            'value.format' = 'json',
            'datasource.name' = 'Kafka',
            'topic' = 'aaa_mysql_kafka_test',
            'properties.group.id' = 'kafka_mysql_test',
            'scan.startup.mode' = 'earliest-offset'
        )
;

CREATE TABLE `sink_zyztest_employees_0902` (
    `department` VARCHAR(50),
    `email` VARCHAR(100),
    `is_manager` INT,
    `hire_date` TIMESTAMP,
    `first_name` VARCHAR(50),
    `id` INT,
    `last_name` VARCHAR(50),
    `salary` DECIMAL(10, 2),
    PRIMARY KEY (id) NOT ENFORCED
)
WITH    (
            'connector' = 'jdbc',
            'datasource.name' = 'mysql5',
            'table-name' = 'employees_0902',
            'url' = 'jdbc:mysql://[host:port]/zyztest?characterEncoding=UTF-8'
        )
;

INSERT INTO `sink_zyztest_employees_0902`
SELECT  CAST(`department` AS VARCHAR(50)) AS `department`,
        CAST(`email` AS VARCHAR(100)) AS `email`,
        `is_manager` AS `is_manager`,
        CAST(`hire_date` AS TIMESTAMP) AS `hire_date`,
        CAST(`first_name` AS VARCHAR(50)) AS `first_name`,
        `id` AS `id`,
        CAST(`last_name` AS VARCHAR(50)) AS `last_name`,
        CAST(`salary` AS DECIMAL(10, 2)) AS `salary`
FROM    `source_aaa_mysql_kafka_test`
;
sql 复制代码
CREATE CATALOG `hudi_catalog`
WITH    (
            'type' = 'hudi',
            'datasource.name' = 'Hive_Cyber_Engine',
            'mode' = 'hms'
        );
      
        -- create database if not EXISTS hudi_catalog.default;
CREATE TABLE IF NOT EXISTS hudi_catalog.`default`.studentinfo11(
  uuid INT PRIMARY KEY NOT ENFORCED,
  name VARCHAR(10),
  age INT,
  ts TIMESTAMP(3),
  `partition` VARCHAR(20)
)
PARTITIONED BY (`partition`)
WITH (
'connector' = 'hudi',
'table.type' = 'COPY_ON_WRITE' 
);

CREATE TABLE IF NOT EXISTS hudi_catalog.`default`.studentinfo22(
  uuid INT PRIMARY KEY NOT ENFORCED,
  name VARCHAR(10),
  age INT,
  ts TIMESTAMP(3),
  `partition` VARCHAR(20)
)
PARTITIONED BY (`partition`)
WITH (
'connector' = 'hudi',
'table.type' = 'COPY_ON_WRITE' 
);
INSERT INTO hudi_catalog.`default`.studentinfo11 VALUES
  (1,'Danny',23,TIMESTAMP '1970-01-01 00:00:01','par1'),
  (2,'Stephen',33,TIMESTAMP '1970-01-01 00:00:02','par1'),
  (3,'Julian',53,TIMESTAMP '1970-01-01 00:00:03','par2'),
  (4,'Fabian',31,TIMESTAMP '1970-01-01 00:00:04','par2'),
  (5,'Sophia',18,TIMESTAMP '1970-01-01 00:00:05','par3'),
  (6,'Emma',20,TIMESTAMP '1970-01-01 00:00:06','par3'),
  (7,'Bob',44,TIMESTAMP '1970-01-01 00:00:07','par4'),
  (8,'Han',56,TIMESTAMP '1970-01-01 00:00:08','par4');

INSERT INTO hudi_catalog.`default`.studentinfo22 VALUES
  (1,'Danny',23,TIMESTAMP '1970-01-01 00:00:01','par1'),
  (2,'Stephen',33,TIMESTAMP '1970-01-01 00:00:02','par1'),
  (3,'Julian',53,TIMESTAMP '1970-01-01 00:00:03','par2'),
  (4,'Fabian',31,TIMESTAMP '1970-01-01 00:00:04','par2'),
  (5,'Sophia',18,TIMESTAMP '1970-01-01 00:00:05','par3'),
  (6,'Emma',20,TIMESTAMP '1970-01-01 00:00:06','par3'),
  (7,'Bob',44,TIMESTAMP '1970-01-01 00:00:07','par4'),
  (8,'Han',56,TIMESTAMP '1970-01-01 00:00:08','par4');
sql 复制代码
CREATE TABLE `source_Kafka_1008_3` (
    `partition` string,
    `name` string,
    `uuid` int,
    `age` int,
    `ts` TIMESTAMP
)
WITH    (
            'connector' = 'kafka',
            'value.format' = 'json',
            'datasource.name' = 'kafka32',
            'topic' = 'Kafka_1008_3',
            'scan.startup.mode' = 'earliest-offset'
        )
;

CREATE CATALOG `sink_hudi_catalog`
WITH    (
            'type' = 'hudi',
            'datasource.name' = 'Hive_Cluster_512',
            'mode' = 'hms'
        )
;

INSERT INTO `sink_hudi_catalog`.`default`.`studentinfo22` (`name`, `partition`, `uuid`, `age`, `ts`)
SELECT  `name` AS `name`,
        `partition` AS `partition`,
        `uuid` AS `uuid`,
        `age` AS `age`,
        `ts` AS `ts`
FROM    `source_Kafka_1008_3`
;
sql 复制代码
CREATE TABLE `source_fctest_test` (
  uuid INT PRIMARY KEY NOT ENFORCED,
  name VARCHAR(10),
  age INT,
  ts TIMESTAMP(3),
  `partition` VARCHAR(20)
)
WITH    (
            'connector' = 'mysql-cdc',
            'database-name' = 'fctest',
            'table-name' = 'studentinfo22',
            'datasource.name' = 'Mysql_3306',
            'jdbc.properties.useSSL' = 'false',
            'jdbc.properties.characterEncoding' = 'UTF-8',
            'jdbc.properties.serverTimezone' = 'Asia/Shanghai',
            'debezium.database.serverTimezone' = 'Asia/Shanghai',
            'debezium.database.connectionTimeZone' = 'Asia/Shanghai',
            'scan.startup.mode' = 'initial',
            'server-id' = '815111232-814446237'
        )
;

CREATE TABLE `sink_Kafka_1008_2` (
  uuid INT PRIMARY KEY NOT ENFORCED,
  name VARCHAR(10),
  age INT,
  ts TIMESTAMP(3),
  `partition` VARCHAR(20)
)
WITH    (
            'connector' = 'upsert-kafka',
            'value.format' = 'json',
            'datasource.name' = 'kafka32',
            'topic' = 'Kafka_1008_4'
        )
;

INSERT INTO `sink_Kafka_1008_2` SELECT *
FROM    `source_fctest_test`
;
sql 复制代码
CREATE TABLE Orders (
    order_number BIGINT,
    price        DECIMAL(32,2),
    buyer        ROW<first_name STRING, last_name STRING>,
    order_time   TIMESTAMP(3)
) WITH (
  'connector' = 'datagen'
);
CREATE TABLE Orders1 (
    order_number BIGINT,
    price        DECIMAL(32,2),
    buyer        ROW<first_name STRING, last_name STRING>,
    order_time   TIMESTAMP(3)
) WITH (
  'connector' = 'print'
);

insert into Orders1 select * from Orders;
sql 复制代码
CREATE TABLE `source_pipeline2_test1` (
    `name` VARCHAR(255),
    `id` INT,
    `age` VARCHAR(11),
    PRIMARY KEY (id) NOT ENFORCED
)
WITH    (
            'jdbc.properties.useSSL' = 'false',
            'jdbc.properties.characterEncoding' = 'UTF-8',
            'scan.incremental.snapshot.enabled' = 'false',
            'connector' = 'mysql-cdc',
            'database-name' = 'pipeline2',
            'datasource.name' = 'mysql0720',
            'debezium.database.connectionTimeZone' = 'Asia/Shanghai',
            'table-name' = 'ccc_test1',
            'jdbc.properties.serverTimezone' = 'Asia/Shanghai',
            'scan.startup.mode' = 'initial',
            'debezium.database.serverTimezone' = 'Asia/Shanghai'
        )
;
CREATE TABLE `sink_FLINKUSER_j_COPY` (
    `AGE` STRING,
    `ID` BIGINT,
    `NAME` STRING,
    PRIMARY KEY (ID) NOT ENFORCED
)
WITH    (
            'connector' = 'jdbc',
            'datasource.name' = 'Oracle_chuan',
            'table-name' = 'FLINKUSER."j_COPY"'
        )
;

INSERT INTO `sink_FLINKUSER_j_COPY`
SELECT  CAST(`source_pipeline2_ccc_test1`.`age` AS STRING) AS `AGE`,
        CAST(`source_pipeline2_ccc_test1`.`id` AS BIGINT) AS `ID`,
        CAST(`source_pipeline2_ccc_test1`.`name` AS STRING) AS `NAME`
FROM    `source_pipeline2_test1`
;
select * from `sink_FLINKUSER_j_COPY`;
sql 复制代码
CREATE TABLE `source_pipeline2_test1` (
    `name` VARCHAR(255),
    `id` INT,
    `age` VARCHAR(11),
    PRIMARY KEY (id) NOT ENFORCED
)
WITH    (
            'jdbc.properties.useSSL' = 'false',
            'jdbc.properties.characterEncoding' = 'UTF-8',
            'scan.incremental.snapshot.enabled' = 'false',
            'connector' = 'mysql-cdc',
            'database-name' = 'pipeline2',
            'datasource.name' = 'mysql0720',
            'debezium.database.connectionTimeZone' = 'Asia/Shanghai',
            'table-name' = 'ccc_test1',
            'jdbc.properties.serverTimezone' = 'Asia/Shanghai',
            'scan.startup.mode' = 'initial',
            'debezium.database.serverTimezone' = 'Asia/Shanghai'
        )
;
CREATE TABLE `sink_FLINKUSER_j_COPY` (
    `AGE` STRING,
    `ID` BIGINT,
    `NAME` STRING,
    PRIMARY KEY (ID) NOT ENFORCED
)
WITH    (
            'connector' = 'jdbc',
            'datasource.name' = 'Oracle_chuan',
            'table-name' = 'FLINKUSER."j_COPY"'
        )
;

INSERT INTO `sink_FLINKUSER_j_COPY`
SELECT  CAST(`source_pipeline2_ccc_test1`.`age` AS STRING) AS `AGE`,
        CAST(`source_pipeline2_ccc_test1`.`id` AS BIGINT) AS `ID`,
        CAST(`source_pipeline2_ccc_test1`.`name` AS STRING) AS `NAME`
FROM    `source_pipeline2_test1`
;
sql 复制代码
CREATE CATALOG `paimon_catalog` WITH (
  'type'='paimon',
  'metastore' = 'hive',
  'uri' = 'thrift://master2:port'
);

use catalog paimon_catalog;
create table fctest.j_test_changelog(
`id` int,
`age` int,
`name` string,
`school` int not null,
`otl_biz_time` string COMMENT '离线同步时间',
`rt_biz_time` string COMMENT '实时同步时间',
`deleted` int COMMENT '数据删除状态',
`deleted_time` timestamp COMMENT '数据删除时间',
`pt_admdvs` string COMMENT '分区_医保区划代码',
PRIMARY KEY(id,pt_admdvs) NOT ENFORCED 
)PARTITIONED BY (pt_admdvs) WITH ('bucket' = '-1','file.format' = 'parquet'); 

create table fctest.j_test_append(
`id` int,
`age` int,
`name` string,
`school` int not null,
`otl_biz_time` string COMMENT '离线同步时间',
`rt_biz_time` string COMMENT '实时同步时间',
`deleted` int COMMENT '数据删除状态',
`deleted_time` timestamp COMMENT '数据删除时间',
`pt_biz_date` string COMMENT '分区_业务日期',
`pt_admdvs` string COMMENT '分区_医保区划代码',
`op` string 
)PARTITIONED BY (pt_biz_date,pt_admdvs) WITH ('bucket' = '-1','row.kind.column' = 'op','file.format' = 'parquet'); 
相关推荐
北域码匠27 分钟前
PID 控制算法完整详解(C# 原生实现,无第三方库)
c#·pid控制·工控开发·闭环控制·自动控制算法·数字pid·增量式pid
离陌在学C#32 分钟前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
渣渣盟3 小时前
当反压问题解决后,如何进一步优化 Flink 作业的 Checkpoint 性能,让大状态作业也能稳定运行?
大数据·flink
小金子会发光4 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
慧都小妮子5 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
-银雾鸢尾-8 小时前
C#中的反射关键类-Type
开发语言·c#
渣渣盟9 小时前
当 Redis 写入不再是瓶颈后,Flink 任务的反压可能来自哪里?如何系统性地定位和解决 Flink 反压问题?
数据库·redis·flink
淡海水9 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
渣渣盟10 小时前
当 Redis 集群发生主从切换(Failover)时,Flink 任务会崩溃吗?如何利用 Sentinel 实现高可用?
redis·flink·sentinel
离陌在学C#10 小时前
C# 多态:面向对象编程的核心特性详解
开发语言·c#