关注我们
使用SeaTunnel需要安装Spark或者Flink这样的引擎么?
SeaTunnel支持哪些数据来源和数据目的地?
SeaTunnel 支持的数据来源(Source)列表:https://seatunnel.apache.org/docs/connector-v2/source SeaTunnel 支持的数据目的地(Sink)列表:https://seatunnel.apache.org/docs/connector-v2/sink
目前SeaTunnel支持哪些数据源的CDC ?
支持从MySQL备库进行CDC么?日志如何拉取?
MySQL CDC同步需要权限如何开启?
授权语句如下:
GRANT SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'username'@'host' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
编辑 /etc/mysql/my.cnf 添加以下行:
[mysqld]
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days = 7
binlog_format = ROW
binlog_row_image=full
然后重启 MySQL 服务:
service mysql restart
查询 SQLSERVER CDC Agent 是否已经开启
EXEC xp_servicecontrol N'querystate', N'SQLServerAGENT'; - 如果结果是running.证明已开启,否则需要手动开启
不同开启方式
/opt/mssql/bin/mssql-conf setup
# 返回结果如下
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
(1)官方文档: https://learn.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms191454(v=sql.105)?redirectedfrom=MSDN
在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server 2008 R2、“配置工具”,然后单击“SQL Server 配置管理器”**。
在 SQL Server 配置管理器中,展开“服务”,然后单击“SQL 代理”。
在结果窗格中,右键单击任何实例,再单击“启动”。
SQL Server Agent 旁的图标上和工具栏上的绿色箭头指示 SQL Server Agent 已成功启动。
单击“确定”。
(2)启动任务管理器-打开服务,找到SQLServer Agent (MSSQLSERVER)" 服务(其中 "MSSQLSERVER" 可能根据 SQL Server 实例而有所不同),然后启动服务。
-- 下面设置库级别开启CDC,该级别下,开启的CDC的库下面的所有表自动开启CDC
USE TestDB; -- 替换为实际的数据库名称
EXEC sys.sp_cdc_enable_db;
-- 查询库是否开启CDC
SELECT name, is_cdc_enabled
FROM sys.databases
WHERE name = 'database';-- 替换为要检查的数据库的名称
-- 下面设置表级别开启CDC,该级别下只有显示开启了CDC的表才能进行CDC同步
USE TestDB; -- 替换为实际的数据库名称
EXEC sys.sp_cdc_enable_table
@source_schema = 'dbo',
@source_name = 'table', -- 替换为要启用 CDC 的表的名称
@role_name = NULL,
@capture_instance = 'table'; -- 替换为一个唯一的捕获实例名称
-- 查询表是否开启CDC
USE TestDB; -- 替换为实际的数据库名称
SELECT name, is_tracked_by_cdc
FROM sys.tables
WHERE name = 'table'; -- 替换为要检查的表的名称
是否支持无主键表的CDC同步?
比如上游有 2 条一模一样的数据,然后上游删除或修改了一条,下游由于无法区分到底是哪条需要删除或修改,会出现这 2 条都被删除或修改的情况。
我有一个问题,我自己无法解决
在问题列表或邮件列表中搜索看看是否有人已经问过同样的问题并得到答案。 如果您找不到问题的答案,您可以通过这些方式联系社区成员寻求帮助。 中国用户可以添加微信群助手:seatunnel1,加入社区交流群,也欢迎大家关注微信公众号:seatunnel。
如何声明变量?
在配置中配置变量名称。下面是一个sql转换的例子(实际上,配置文件中任何地方“key = value”中的值都可以使用变量替换):
...
transform {
Sql {
query = "select * from user_view where city ='${city}' and dt = '${date}'"
}
}
...
$SEATUNNEL_HOME/bin/seatunnel.sh \
-c $SEATUNNEL_HOME/config/your_app.conf \
-m local[2] \
-i city=Singapore \
-i date=20231110
如何在配置文件中写入多行文本的配置项?
var = """
Apache SeaTunnel is a
next-generation high-performance,
distributed, massive data integration tool.
"""
var = """
your string 1
"""${you_var}""" your string 2"""
如何配置SeaTunnel-E2E Test的日志记录相关参数?
seatunnel-e2e
的 log4j 配置文件位于 seatunnel-e2e/seatunnel-e2e-common/src/test/resources/log4j2.properties
中。您可以直接在配置文件中修改日志记录相关参数。如果想学习SeaTunnel的源代码,应该从哪里开始?
seatunnel-examples
模块开始了解和调试源代码:SeaTunnelEngineLocalExample.java具体参考:https://seatunnel.apache.org/docs/contribution/setup
针对中国用户,如果有伙伴想贡献自己的一份力量让 SeaTunnel 更好,特别欢迎加入社区贡献者种子群,欢迎添加微信:davidzollo,添加时请注明开源共建。
如果想开发自己的source、sink、transform时,是否需要了解SeaTunnel所有源代码?
Apache SeaTunnel
精彩推荐
点击阅读原文了解更多⭐️!