曝光!Apache SeaTunnel Catalog 功能设计为何能大大简化用户启用步骤?-环球今头条
Catalog(目录)提供了关于数据库、表格和访问数据所需的信息的元数据,以及统一的 API 来管理元数据,验证连接,让元数据对 Sources(数据源)、Sinks(数据汇)和 Web 可访问。
Catalog 让用户能够引用其数据系统中的现有元数据,并自动映射到 SeaTunnel 的对应元数据。总之,Catalog 大大简化了使用用户现有系统开始使用 SeaTunnel 的步骤,并显著增强了用户体验。
Catalog 功能的重要性
目前,许多现有功能都是基于 Catalog 实现的,例如 CDC(变更数据捕获)多表同步功能,我们使用 Catalog 获取表格和字段列表。
(资料图片仅供参考)
Apache SeaTunnel 目前正在设计一个叫做 SaveMode 的功能,它是由连接器实现的,用于支持目标表中现有表格结构和数据的处理。这些功能也是基于 Catalog 实现的。
Catalog 是如何设计的?如何实现一个新的 Catalog?以下是详细介绍。
Catalog API
初始化操作
注意:目录名称目前没有被使用,预计会提供给 Web 后端进行保存和查询。
Javapublic interface CatalogFactory extends Factory { String factoryIdentifier(); OptionRule optionRule(); Catalog createCatalog(String catalogName, ReadonlyConfig options); } public interface Catalog extends AutoCloseable { void open() throws CatalogException; void close() throws CatalogException; }
数据库操作
javapublic interface Catalog extends AutoCloseable { // -------------------------------------------------------------------------------------------- // 数据库 // -------------------------------------------------------------------------------------------- String getDefaultDatabase() throws CatalogException; boolean databaseExists(String databaseName) throws CatalogException; List listDatabases() throws CatalogException; void createDatabase(String databaseName, boolean ignoreIfExists) throws DatabaseAlreadyExistException, CatalogException; void dropDatabase(String databaseName, boolean ignoreIfNotExists) throws DatabaseNotExistException, CatalogException; }
表格操作
javapublic interface Catalog extends AutoCloseable { // -------------------------------------------------------------------------------------------- // 表格 // -------------------------------------------------------------------------------------------- List listTables(String databaseName) throws CatalogException, DatabaseNotExistException; boolean tableExists(TablePath tablePath) throws CatalogException; CatalogTable getTable(TablePath tablePath) throws CatalogException, TableNotExistException; void createTable(TablePath tablePath, CatalogTable table, boolean ignoreIfExists) throws TableAlreadyExistException, DatabaseNotExistException, CatalogException; void dropTable(TablePath tablePath, boolean ignoreIfNotExists) throws TableNotExistException, CatalogException; }
这里是一个已经实现的示例。
MySQL Catalog
MySQL Catalog 的使用方式:
- username [String] 连接到数据库服务器时要使用的数据库名称。
- password [String] 连接到数据库服务器时要使用的密码。
- base-url [String] URL 必须包含数据库,例如 "jdbc:mysql://localhost:5432/db" 或 "jdbc:mysql://localhost:5432/db?useSSL=true"。
- table-names [List] 要捕获的数据库表格名称列表。表格名称需要包括数据库名称,例如:database_name.table_name。
- database-pattern [String] 要捕获的数据库名称的正则表达式。
- table-pattern [String] 要捕获的数据库表格名称的正则表达式。表格名称需要包括数据库名称,例如:database_.\.table_.。
配置文件配置
conf[source/sink] { [connector-factory-id] { catalog { factory = "MySQL" username = "test" password = "123456" base-url = "jdbc:mysql://localhost:5432/db" table-names = [ "db.table" ] } } }
如何使用 Catalog
对于支持 Catalog 的连接器,我们将打开一个 Catalog 参数来配置所使用的 Catalog:
示例
sqlenv { "job.mode"=STREAMING "job.name"="cdc_mysql_to_mysql" "checkpoint.interval"="2000" "custom_parameters"="" } source { MySQL-CDC { parallelism = 1 catalog { factory = "MySQL" # 默认情况下,Catalog 将使用与连接器同名的选项 } username = "mysqluser" password = "mysqlpw" database-names = ["seatunnel-test"] table-pattern = "seatunnel-test\\.orders_\\d+" base-url = "jdbc:mysql://localhost:54508/seatunnel-test" } } sink { jdbc { url = "jdbc:mysql://localhost:4000/test" driver = "com.mysql.cj.jdbc.Driver" catalog { factory = "MySQL" username = "root" password = "" base-url = "jdbc:mysql://localhost:4000/test" table-pattern = "seatunnel-test2\\.orders_\\d+" } user = "root" password = "" query = "insert into sink(age, name) values(?,?)" } }
未来规划
目前,我们只实现了部分 Catalog。未来,我们计划扩大 Catalog 的实现范围,包括更多支持 Catalog 的连接器,这将使更多的连接器支持 SaveMode 和自动表格创建等功能。
Apache SeaTunnel 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台
仓库地址: https://github.com/apache/seatunnel
网址:https://seatunnel.apache.org/
Proposal:https://cwiki.apache.org/confluence/display/INCUBATOR/SeaTunnelProposal
Apache SeaTunnel 下载地址:https://seatunnel.apache.org/download
衷心欢迎更多人加入!
我们相信,在「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!
我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!
- 提交问题和建议:https://github.com/apache/seatunnel/issues
- 贡献代码: https://github.com/apache/seatunnel/pulls
- 订阅社区开发邮件列表 : dev-subscribe@seatunnel.apache.org
- 开发邮件列表:dev@seatunnel.apache.org
- 加入 Slack: https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ
- 关注 Twitter: https://twitter.com/ASFSeaTunnel
本文由 白鲸开源 提供发布支持!
标签:
抢先读
- 全球视讯!加强企业安全意识 提升全民安全素质
- 《射雕》演员太坎坷,孤独离世、酒店猝死、开煤气自杀,令人惋惜
- 【世界时快讯】北京挂牌昌平、通州3宗预申请用地 总起始价近80亿元
- 安路科技:股东拟合计减持不超过4.5%公司股份 全球播资讯
- 重磅!募资300亿华电新能IPO过会
- 网红跨省为粉丝取快递被发现内含毒品,重审后再次被判无期
- 2023年最新江苏防温降暑费标准来了 江苏高温费发放标准2022几个月?
- 每日报道:wps如何画组织结构图(wps如何制作组织结构图)
- 腾达科技下周上会:招股书内容出现乌龙,专利含金量大打折扣 环球速看料
- 天天热门:6月16日基金净值:建信大安全战略精选股票最新净值2.8363,涨0.66%
- 威盛创造栗AI训练营再次起航,小栗方助力青山区人工智能教师培训成功开展|环球观焦点
- 外星入侵科幻生存 《星球:重启》测试招募开启!
- 《星空》不支持韩语让许多韩媒不爽 痛批B社不重视韩国|焦点速递
- 每日讯息!瞰海南 | 航拍大唐海口天然气发电项目 年减排二氧化碳192万余吨
- 环球今日讯!瑞丰银行行长张向荣“工作调动”,或将任职于浙江省内其他农商银行
- 国泰君安期货助力云南红河州绿春县天然橡胶“保险+期货”项目启动
- 母猪场非洲猪瘟早期症状有哪些?非洲猪瘟与普通猪瘟的区别?
- 全球今头条!南县麻河口镇:禁毒宣讲进校园 守护青春助成长
- 【国际漫评】这是没有新谣可造了吗? 热点
- 民生证券钱龙旗舰软件 民生证券钱龙版
- 6月16日基金净值:国泰价值领航股票A最新净值0.7969,涨0.9%
- 古浪县气象台发布大风黄色预警信号【2023-06-16】|每日焦点
- 2023年军队院校招收广东普通高中毕业生工作启动,扩招56人|环球视点
- 环球简讯:碳酸锂期货上市“临门一脚” 或重构国内锂盐定价体系
- 高盛和巴克莱的策略师们“中大奖”,他们此前押注美联储不会在6月13-14日FOMC货币政策会议上宣布降息 世界微动态
- 城地香江:子公司中标4.4亿元机房及配套机电工程总承包
- 党旗飘扬毕业季|“最后一堂党课”送别毕业生党员-环球新要闻
- 海涛优选(海涛优酷空间) 全球今亮点
- 【全球报资讯】优巨新材新增产能或难消化,近半募资为补流,外销数据前后不一
- 今日美元/加元汇率走势图分析(6月16日)
- 中国移动资费最便宜的套餐(中国移动资费)
- 2023长沙“建筑施工质量管理和安全生产标准化示范”观摩会走进和顺总部基地项目
- 世界热讯:中原鹤壁担保携手银行机构,护航“三夏”助丰收
- 环球快播:韩国女排惨遭日本横扫,六场全败未赢一局,巴西险胜排名超中国队
- 报告:韩国2070年75岁以上人口占比将居经合组织之首 75~79岁人群近四成希望继续工作|快资讯
- 速读:【冷历史会说话VII书画传习录⑧】赵熙:融百家书法为一体 川内名山皆有其书迹
- 每日头条!融资丨派姆特获中科创星千万元级天使轮独家投资
- 【环球时快讯】阿里巴巴总裁谈马云近况:他在东京教书,很有活力很开心,将有更多时间待在中国!
- 今日视点:网易,“猪事”不易
- 1—5月,四川规模以上工业增加值同比增长2.9% 每日简讯
- 预期英国进一步加息 英美呈现良好上扬态势
- 【环球播资讯】回到明朝当驸马周世显(帝女花小周世显是谁演的)
- 【融媒体中心新闻播报】桐梓坡渡镇:5000余亩花椒迎来采收
- 材质球不能赋予材质 材质球不够用|焦点速递
- 获150亿元联合授信 岚图计划IPO 新能源“国家队”加速突围|环球百事通
- 树木的森林 当前快讯-环球观天下 当前讯息
- 每日短讯:北京论道|乐播投屏吴仕彬:新环境下投屏的场景化、合规化、市场化应用
- [路演]冠农股份:棉籽蛋白项目预计第四季度投产 天番食品2.5万吨番茄丁汁项目已达产-速看
- wifi开启wmm(开启wmm) 最新资讯
- 欧洲央行9月到底加不加息?20多家大行给出答案 世界关注
- 热热热热热!高温黄色预警继续!何时会结束?
- 人人讲安全、个个会应急 湖北省首届应急网评大赛正式启动!-每日关注
- 端午旅游市场迎来预订潮 部分海景房已约满 特色民宿人气旺_资讯推荐
- 如何面对美国频繁碰瓷
- 【速看料】年终晚会节目创意活动 年终晚会节目创意
- 华联锌铟持续推动健康企业建设
- 环球信息:非洲猪瘟新重组病毒毒力、传播性更强!非瘟亚单位疫苗有望在2023年内上市
- 为解压找灵感抽“叶子烟”,这些寻刺激的方式犯法! 焦点热讯
- 民警巧用APP 揭穿无证司机|最新快讯
- 今日起 重庆往返香港航班正式恢复
- 世界速看:含有反义词的四字词语二四位置(含有反义词的四字词语)
- 【财经分析】降息利好落地触发止盈情绪 债市短期调整无碍机构看多信心
- 全球快消息!oppo手机一直循环重启(手机一直重启循环开不了机)
- 环球快资讯丨阿里总裁谈马云近况:他在东京教书
- 电脑出现ctrl+alt+del开不了机(bootmgr is compressed)
- 快讯:战舰世界社区代币怎么获得(lol代币怎么获得)
- 电影《长安三万里》发布IMAX海报!大唐美景尽收眼底
- 广西逾3000种名优特农产品亮相广州 签约涉农项目107个
- 简讯:卡布西游外挂最新版_卡布西游外挂
- 券商板块周线5连阴,超跌机会已现?资金持续加码不停,券商ETF(512000)近10日连续吸金12.56亿元!|环球快播
- 天天讯息:巴西棉花种植者协会负责人:巴中棉花贸易未来或以人民币结算
- 环球动态:北京中考倒计时!提醒各位考生,这些事项要注意
- 最新税率表2020增值税(最新税率表2021增值税)
- 智能园区智能制造,台达“智慧永续产业园区”COMPUTEX 2023盛大登场
- 企业观 | 业绩预告与实际金额相差282%,归母净利由盈转亏,康惠制药收警示函 聚看点
- 以赛促学,筑起长沙市第四医院消防安全工作坚实的“防火墙” 全球消息
- 6月16日基金净值:融通医疗保健行业混合A/B最新净值1.926,跌0.57%
- 焦点报道:山东:济南高新区打造最优人才生态
- 博拓生物: 公司目前未开展上述产业研究和产业布局|环球观点
- 总投资222亿元!42个项目签约威海
- 这所985在2023招4100人!江苏占比近20%,各类数据大盘点 环球观焦点
- 天天热点!花语系列
- 五部门:支持专业化、规模化住房租赁企业发展-每日简讯
- “第三支箭”重要进展!A股首单房企重组项目注册生效 _当前速递
- 22岁小伙狂健身,差点儿下半身瘫痪,只因忘了这件事…… 即时焦点
- 我市农村人居环境如何?空气质量咋样?看这里~
- 环球观速讯丨6月16日国内镝铽系部分价格下滑
- 我国首艘海陆一体化生产运营的智能“海上油气加工厂”在南通交付-每日资讯
- 催化剂防水套可防止Pixel Buds 2掉落-当前观察
- 部分机场飞机靠桥率不高影响旅客出行 民航局启动专项整治工作 环球微资讯
- 市监总局通报粽子抽检情况,不合格样品均为超范围使用食品添加剂|全球讯息
- 股价连续下跌四年,浙商银行怎么还好意思让股东配股追加投资?
- 10个去头皮屑的小妙招 让你去屑止痒没烦恼
- 观摩学习促提升 借力扬帆享成长 ——安阳市南关小学辅导员观摩学习省少先队辅导员技能展示活动|全球快看
- 环球速读:2023年芜湖购房消费券活动时间及适用范围
- 珠海一黄色工程车雨天冲上公交站台,造成2人受伤|环球快消息
- 头部绿通服务商要上市:合作200多家保险机构,健康之路凭什么实现高增长?
- 美媒建议勇士4换1唐斯组五巨:1.587亿先发袭来 库里有第五冠吗?
- 上海双轨制国际高中|上海安生学校高中部开始招生!
- 中国军队将赴蒙古国参加多国维和演习