flink通过sink的方式写入dorisdb数据源

本文介绍如何使用 Flink 将数据通过 sink 方式导入 DorisDB,包括创建 DORISDB 表格、引入 Flink-Connector-StarRocks jar 包以及配置 sink 的详细步骤。
摘要由CSDN通过智能技术生成

我们在之前的文章中已经 通过 mongodbsource获取了 相关数据,详情参考

flink读取mongodb数据源批处理全量获取实践

本篇文章 记录把获取到的数据 sink导入到 dorisdb。

创建erp_order_test表

在dorisdb的shell命令行中使用命令创建表格

create table erp_order_test (order_id STRING,  order_time DATETIME) DISTRIBUTED by hash(order_id) BUCKETS 10 PROPERTIES("replication_num"="1");

更多dorisdb相关的sql命令参考官网文档

项目引入jar包

flink的用户想要将数据sink到DorisDB当中,但是flink官方只提供了flink-connector-j

Apache Flink是一款支持流处理和批处理的开源框架,而TiDB是一个分布式NewSQL数据库。如果你想使用Flink的Batch模式将数据写入TiDB,可以按照以下步骤操作: 1. **设置依赖**:首先,在Flink项目中添加对TiDB Java客户端的依赖。这通常通过Maven或Gradle配置文件完成。 ```xml <!-- Maven --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-tidb_2.11</artifactId> <version>最新版本号</version> </dependency> <!-- Gradle --> implementation 'org.apache.flink:flink-connector-tidb_2.11:最新版本号' ``` 2. **创建TableSink**:在Flink程序中,你需要创建一个`TableSink`实例,指定TiDB的目标表以及连接信息(如地址、用户名、密码等)。 ```java TableSchema schema = ...; // 定义表结构 Configuration config = new Configuration(); String url = "jdbc:mysql://<TiDB地址>:<端口>/<数据库名>"; config.setString(TiDBConfig.CONNECTION_URL, url); config.setString(TIDBConfig.USERNAME, "<用户名>"); config.setString(TIDBConfig.PASSWORD, "<密码>"); TableSink sink = TableEnvironment.getTableSinkBuilder("MyTable", schema) .with(new JdbcDriver<>(config)) .build(); ``` 3. **数据写入**:使用`executeInserts()`方法将批处理数据插入到TiDB表中。 ```java List<Row> data = ...; // 批量数据 sink.executeInserts(data); ``` 4. **运行作业**:最后,提交Flink作业并运行它。 ```java StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.addSource(...).addSink(sink); // 创建数据源并将其连接到sink env.execute("Flink Write to TiDB"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张小凡vip

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

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

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

打赏作者

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

抵扣说明:

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

余额充值