粉丝1.8万获赞6.8万

阿帕奇 ctl, 一个分布是高性能的数据基层平台,主要用于海量数据的离线或实时数据同步,下面演示下基于 ctl 去实现买 cq 的数据同步。在这里有一个快速开始,然后我们在本地区运行测试一下。嗯,这里首先需要去下载我们的一个志愿包 啊,通过这么一条 mini 去进行下载,下载好了之后我们可以在本地的,嗯,这里有一个咖啡港部录,然后下面有一个插件的一个配置文件。 首先我们需要去配置这么两个插件,然后通过这下面有一个,嗯,这里有一个 instore, 这里有个安装插件的一个脚本,我们先需要去执行一下, 执行好了之后我们还需要在这里有一个,嗯,在这里有一个插件,我们先需要去将我们的一个 mystical 的一个 连接驱动,然后放在这个木头下面去,然后我们就可以去编写他的一个配置文件了。 嗯,在这里我们去编写一个 mco 的一个配置视力比较简单,首先需要去配置他的数据来源,比如说这里是我本地的这个 demo 库,下面去同步这么一个测试表。数据同步到哪里呢?我们可以将数据同步到下面这么一个 gdpc 的配置, 同步到这个 demo 杠 bank 这么一个库下面的这么一个测试表中,然后打开我们的数据库。 嗯,在这里我的测试表里面有这么几条数据,然后这是我的一个半刻表啊,这里面是空的。然后我们来执行一下我们的一个脚本,在相应的 ceteral 的目录下执行这么一个命令,去选用我们刚才写好的一个 mecco 的一个 同步的数据配置文件,然后我们在这里去回测一下,然后他就开始进行相关的一个执行了。这里运行好了之后,我们就可以来刷新一下这个数据库,然后我们来刷新一下,可以看到我们的数据就成功同步过来了。这里可以看一下有四条数据, ct 的支持的连接器还是比较多的。嗯,下面就是他一系列的一个连接器,感兴趣的话可以下来看一下。我们刚才是使用的这个接 dbc 的连接器,这是他相关的一个配置。嗯,大家根据他的文档来学习还是比较容易的。

大家介绍一下 dtsvr 集成阿帕奇史天道的一个功能介绍啊和这个特点。这个本次这个啊讲解呢会分为四个部分,第一个呢是史天道的一个介绍啊,第二个是史天道集成道 dtsvr 的一个功能介绍,哎, 呃,第三呢是沈天道的应用和开套应用的一个区别,哎。最后呢是一个补充的知识点,是 dts vr, 呃,一个数据同步的设置。我们先来看一下什么是沈天道啊?沈天道呢,它是一个阿帕奇基金会下的一个,呃,孵化项目, 哎,他的一个特点呢就是,哎,灵活一用一扩展啊,支持千万级的数据集成,哎,呃,时间到,他是支持这个实时留计算和离线批处理的一个啊集成平台啊,相对来说是比较 广泛的,他可以选择这个几个引擎啊,一个是 zta 还有弗林克啊。最后是 spark, 呃,弗林克 spark 呢?这个在官网上介绍的是比较多的,哎。呃,也是这个现实当中这个应用场景这个比较多的一个啊,这个引擎 它支持这个离线同步,实时同步,还有全量增量的这个同步场景,这是 ctana 的特点,呃,非常多啊。首先这个支持的这个数据源的,支持的数据源种类比较多, 哎,现在是啊,统计是一百多种这个数据源的连接器,也就是说支持这个数据源类型的非常多,哎,现在呢是正在不断的增加。 呃,然后是这个他的一个为保证这个数据一致性的一个方案啊,使用的是一个分布式的快照算法啊,保证的数据一致性,哎。接下来是, 呃支持这个多引擎的一个设置,哎,刚才也是提到了啊,支持这个,哎,弗林克和 spak 这两种引擎可以自己去替换啊。呃,然后那个他本身 ctrl 也是有自己的引擎,他的引擎就叫 ctrl 啊,就是他自己的引擎, 下面呢是一个,哎,支持这个 j d b c 的服用,呃,日志多表解析啊,其实最终解决的是同样的资源当中支持更多的这个,呃,同步任务,因为他这个是支持这个病型的毒和血啊,病性病,病型毒血,所以说他有一个高吞吐量,低延迟的这特点, 哎,下面呢就是,哎,这是这个监控方案,哎,监控方案,哎,其实他这个在形态道的一个同步日志当中就是比较详细的啊,比较可读性比较强,哎,在这个同步日志当中可以体现出这 一个用户同步任务的读写数据量啊,数据的大小啊,以及这个 qps 啊,每秒钟同步的数据量啊。最后是此前的一个可视化的一个设计啊,它支持这个编码,嗯,设计和这个画布设计 哎。呃,这个是神仙的一个模块啊,神仙的外包,这个模块他提供了这样一个可视化的管理的一个啊,一个功能,哎,但是刚才刚才我们提到一个开头啊,开头也是这个意思,唯一版本去使用的一个组件啊,定制同步的一个组件 啊,开的,他也有这个可视化的一个设计,但是他的是一个桌面板啊,服务器板呢,是不支持可视化的设计的,服务器板只有这个编码设计哎。呃,喜天道呢,他有两种都支持,编码和画布都支持啊。接下来是喜天道的工作流程图啊,这个相当于他的一个架构图吧。呃,主要是分为三, 三个,呃,三个板块啊,第一个呢是这个,哎。呃, da data, south 是一个,呃原数据员,呃,最后呢是一个目标数据员,中间呢就是跆拳道的一个功能啊,功能模块啊,原数据员呢,通常是我们在说的这个业务数据库啊,将要同步的数据库, 目标数据,原来就是我们要把这个数据同步到哪?同步到一个目目标数据库当中。呃,中间这个蓝色的部分呢,是这个沈腾道,呃,他自己的这个,呃引擎,哎,哎,还有如果说,哎,如果说沈腾道引擎不满足我们使用场景的啊,可以使用这个,呃, spa 引擎和弗林克引擎,可以自己去部署的, 哎。然后这整个整个这个,呃,不管是什么引擎啊,它都是里面也是分为三个模块,一个是 south, 还有个是 transform 的,最后是 slink, 哎, 你像 spark 引擎也是啊,也是啊, south transform, 还有 slink, 那下面这个,呃 flink 引擎也是一样的,嗯 嗯。啊,这个,哎,我们可以稍后介绍。哎,上面这还有一个啊,外部模块啊,这就是刚才提到的可以支持这个可视化管理的一个模块啊,包括这个可视化的任务设计啊,可以那个实时的一个任务状态监控啊,都是通过外部模块去实现的。 好,然后,然后我们看一下刚才提到的,呃, source, transform, 还有这个 slink 这三个这个连接器啊,这是引擎里面的三个连接器。 sos 呢,就是一个,呃,他可以去读取这个原数据原的一些数据啊,他支持的这个数据原种类也是比较,呃,比较广泛的啊,关系性数据库, 图形数据库啊,这个 noseal 数据库,文档内存型数据库啊,都是比较多的,比较广泛。嗯,然后下面啊,最下面这个啊, slink 他是去写入数据库的, 哎,原数据员读完数据库之后啊,是立刻去写入数据库啊,写入到一个目标数据库当中,嗯,他支持写的数据库也是比较多啊,关系型图形都色考,哎,是都是 比较广泛的呃,呃, slink 支持这个五十五种数据库啊, sos 呢?它支持这个啊,五十七种数据库,所以说,呃,前面我们介绍的它支持的数据原则一百多种。呃,中间 transform 呢?它是一个转换器啊,它是把这个原数据源读取到的数据, 呃,这个架构转换成与目标数据员一致的架构啊,所以,所以说他是一个转换器的一个存在,一个角色,这是听到集成 到 dtes vr 大概的一个功能架构。呃,时间到呢?引擎呢?它属于它相对于这个是一个独立的模块啊,它是在这个 dts 这个 vr 版本之之外的一个功能啊,单独一个模块啊, 哎,那这个是天道引擎呢,他设计了三个功能模块,一个是这个原数据源,还有一个目标数据源,哎,最后是 这个同步任务的一个设定啊,原数据员呢?就是刚才跟我们我们提到的这个,呃,功能加构一样 啊,他是这个对接用户的业务数据库啊,目标数据员呢?就是对接这个啊,将要写入的数据库啊,目标数据库。这个目标数据库呢,是当前是支持这个刀瑞斯啊,这个呢,如果大家在部署的时候呢, 哎,需要单独去部署这个 doris, 哎。啊,最后呢是这个是同步任务的一个设定啊,可以设置 这个同步的频率啊,设置设置这个目标数据库的一些同步方式啊,接下来呢是喜天道在 dtes vr 版本中的这个工作流程,哎,我们先看一下这个在没有史天道的情况下,呃, dtes 是怎么来。呃,这个操作的,还有个操作步骤, 首先是创建数据园,哎,创建数据园要要从哪里去拉取数据,去读取数据,哎,然后呢是创建数据集啊,通过在数据园的基础上去创建数据集,获取哪些数据啊?最后呢是这个创建仪表板,创建识图进行展示数据, 那这个集成了史天道在做数据同步的,加上数据同步的功能之后是一个怎样的工作流程呢?呃,当然第一个啊,还是这个去,先去这个创建数据园啊,创建数据园之后呢啊,在这个史天道当中呢,去配置一个 同步任务啊,也就说把这个数据源的数据,哎拉取到这个,哎,哪呢?拉取到目标数据库当中,哎,这里呢,刚才说了,目前是支持 doris 的啊,支持 doris, 哎, 那数据同步到刀瑞士之后呢?哎这个,然后再去创建数据集,哎,把这个刀瑞士作为一个数据员,哎,创建为数据集,接下来就可以通过数据集去创建仪表板啊,展示数据, 这样的一个工作流程也是非常简单的,这是 dds 集成使天道之后呢带来的一些优势和功能。 首先第一个是同步,这个频率可以设定啊,表达式设定口上贴过的这个表达式啊,还可以设置固定频率啊,每周每月每天这样一个固固定频率还可以这个立即同步啊,手动区域同步,下一个呢是这个灵活选择数据啊,在这个去同步数据的时候可以选择数据, 可以通过选择整个表都有都有数据可以选择表中中的哎,某个字段某些字段进行同步啊,也可以去编写思考啊,更灵活的去方式去 查询数据同步数据啊。下一个是对目标数据库的优化设置啊,因为这个呃目标数据库这里是使用的是 doris 啊, doris 的这个本身特性呢,就可以通过一些设置设置主键设置这个缩影设置分区,提高这个查询效率。所以说在 d t s vr 版本当中呢啊也是可以做这样的一些设置的。 呃,下面是呃简约的一个配置啊,其实就是做这个数据同步的,这个配置通过界面啊进行设置这个同步任务。呃,最后是这个可视化的任务面板啊,因为在这个呃数据同步的这个界面当中呢啊也是展示了这个数据员的统计,对数据呃,对数据同步 任务的一个统计啊,执行次数的统计,以及这个近期任务执行的情况啊,同步状态分布的情况。接下来呢是就是做一个对比吧啊,是神仙到和开了开了的一个区别啊,其实这个严格来说呢是 dt 是 vr 集成,史天道和 dt 是唯一去集成开头的一个区别哎,首先第一个是这个哎,外置 dt 是部署啊,史天道是可以单独部署的啊,开头呢,其实也是可以单独部署的。这个都是一样的。嗯。 呃。监控运行啊,运行监控功能啊。这个其实取决于这个史天道的一个,呃日志的一个可视化程度。日志的一个详细程度啊,在史天道当中呢,去可以去查看日,查看这个定时同步任务,呃。他的一个数据执行的状态啊,包括这个, 呃。可能是报错了,哎。这个属于同步失败了。他的是在哪失败的啊?是因为什么原因失败? 哎。这是,哎。磁天道都是可以去查看的,但是在开套当中呢,开套这个日志,呃并不是很详细。呃。然后是这个集群部署啊,这个磁天道呢,他本身是可以支持集群部署的,而完全没有问题。但开套呢, 他是不支持集群部署。开头是主通加购啊,高可硬的,非高可硬的一个状态。呃就是部署多个节点的。开头呢,他是相对独立的啊,相互独立,并不是一个集群啊。不支持这个故障转移 并发任务啊,并发任务这一项呢?这个,呃。 stenna 呢,它是支持的,没有问题。嗯因为他这个支持这个集群部署。分部式部署嘛。哎。这个有这个分部式执行执行的能力啊,提高数据这个 同步和吞吐的性能。但是开套呢?他刚才说了,哎。是不支持这个集训部署,不支持这个故障转移啊。呃。每个节点呢?在同一时刻只能运行一个任务 啊,超时控制啊,失败次数这些呢?是时间到集成到 dtesvr 的一个功能啊。集成到 vr 之后啊,这个 dtes 的这个功能。 dtesvr 呢?它是支持这个进行呃超时时间的设置啊,也是支持这个呃任务失败之后的一个重试次数的一个设置, 你看开头,呃,在 d t s v 一当中,呃,它是没有这些功能的,呃,数据同步的速度啊,数据同步速度,这里这里是,哎,是一个亮点。 呃,在十天到当中,在这个 dte 四 vr 当中呢,我去做了一个这样的一个测试,有九个字段,一千万条数据进行同步啊,三到四分钟就可以完成同步啊,是非常非常快的啊,但是这 在这个 dtes v 一版本呢,实行开套,呃同样的数据量啊,可能在半小时以上,嗯,最后呢是一个对目标数据库的优化,这个也是在这个属于 dtes 平台的一个功能啊。 dtes vr 呢?那它可以支持对这个啊目标数据库啊进行这个左引主键和分区的一个调整设置。 呃在 dtsv 一当中呢,因为是使用的开头啊,这边只支持主键的一个设置。哎,其实这个目标数据库的优化,这个其实是对 doris 进行做的一个调整啊,因为,呃 dtsv 一呃使用开导都是数据同步,他同步的目标数据库也是 doris。 呃跟这个 d t 四 vr 也是一样的啊, vr 用斯坦诺去同步同步的目标数据库,呃,目前也是支持 doris, 其实它都是对 doris 进行设置的。 那这个 door 是进行这个设置的时候啊,刚才说到了一个可以,可以分区嘛?啊?可以分区啊,就是这个, 哎,就这个界面当中呢,哎,可以啊,启用分区啊,启用分区啊,启用分区呢,这里面有三种类型可以选择分区类型,一个是日期啊,还有一个是数值啊,还有是个列,其实就是按日期进行分区,或者是按数值进行分区,或者是按按列进行分区。 如果按日期进行分区的话,他支持这个啊,静态分区和动态分区。静态分区呢就就是简单的一个设置时间范围。动态分区呢,他是设计设置一个,呃,这个,呃 分区单位啊,每个区是定义为,哎,按月、年或者是天这样的一个设置。呃,数值分区,数值分区 就是一个数值范围啊,通过设置一个数值范围,每个一个数值区间啊,设置为一个分区。列分区呢,就是指定某一个字段进行分区, 然后我们看一下这个一个几个分区势力啊,这个第一个呢是一个以日期类型进行分区啊,他他的这个设置呢,就像图中的啊,是以这个,呃 分区类型呢是日期,然后分区字段呢?我选择的是我这个表当中的一个日期字段。哎,他的这个时间范围呢,就是二零二三年一月啊,一号到二零二五年的十二月三十一号就是二三年,二四年二五年这三年的数据啊,进行分区 啊,那他这个设置完之后创建了什么样的分区呢啊?首先啊是这个一个时间范围吗?是二三年到二五年这三年的一个时间啊,这三年的一个这个数据啊,进行分区, 以这个月份进行分区啊,这里选择的是分区单位是月啊,以月份进行分区啊,就二三年十二个分区,二四年十二个分区,二五年十二个分区啊,创建三十六个分区。 哎,那进行这个数据写入的时候呢?嗯,那就是像下面这个图一样,按住二三年一月份的数据呢就放在一月份的分区当中,二月份的数据呢就放二月份数据啊,最后呢二五年十二月份的数据呢就放在二五年十二月的这个分区当中。 哎,那如果出现了二六年的数据啊,二六年一月份的数据,呃,他会写入吗?啊?会写入啊,不会啊, 因为因为没有这样的分区哎,因为分区范围呢就只设置了二三年到二五年,如果有二六年或者是二三年以前的数据都不会被写入,因为没有创建分区。哎,好,第二个这个,哎,这个日期类型 视力呢?是动态分区啊,刚才选的是一个静态分区的啊。呃,第二个视力呢?还是以这个日期类型啊,一个视力啊,这里呢设置的是动态分区。呃,刚才是静态分区吗?啊,现在是一个动态分区的一个演示。呃,同样看着还是这个图啊,还是一个日期类型。然后字段呢?选一个日期字段啊,启用动态分区 啊,这里设置了一个结束偏移,哎结束偏移,然后这个分区单位呢?是也是按月来分区的, 接受偏移。这里是什么意思?就是这里设置一啊,就是当前日期啊,当前日期的下一个月,哎,这是这一个实验范围 哎,按月进行分区。分区单位不是月吗?按月进行分区,那就会创建两个分区啊,一个是现在啊,现在是二月份吗?啊,创建一个二月份的分区,哎,然后是下一个月的一个时时间,哎,再创建一个三月份的分区, 那接受便宜。如果是三呢啊?接受便宜啊,如果是三啊,就是当前日期,往后三个月啊,现在是二月份啊,现在是二月份,那肯定会创建当前月的份的一个分区,然后再创建往后三个月,三月份,四月份,五月份,哎,这是接受便宜三的一啊,这个这个代表代表的一个意思啊, 哎,也就说,哎,这个创建了一个动态分区之后呢,哎,设置偏移,哎,比如说,哎,我们设置的是三,哎,那他就会创建二二月份当前分区啊,然后是三月、四月、五月啊,未来三个月的一个分区, 哎,这样会创建四个分区。好,然后下一个呢,是一个数值类型的一个视力分区。视力啊,我们看一下这个图啊,选的是一个数值分区类型,然后选一个数值字段啊,这个呢是只是整数的,只能选择整数啊,他的时间范 认为呢是一万到两万啊,一万到两啊,一万九千九百九十九啊,啊,一万到两万,然后分区间隔设置是两千啊,这里面啊,就是这里是呃,展示出来的这个配置,然后这个设置呢,他是创建一个怎样的分区呢?他就会为这个 id 字段, 哎,从一万到两万的数据进行分区,每两千个数据设置一个分区,哎,可以看一下下面这个图啊,第一个分区呢, 因为一万到两万吗?啊,是一万到一万二,中间是有两千个数,那第二个分区呢?就是从一万二到一万四, 第三个分区呢?一万四到一万六啊,第四个分区一万六到一万八啊,最后一个分区就是啊,一万八到两万啊,中间这里每个分区有两千个数啊,然后这个是从一万,呃作为一个分区 起点啊,两万呢是个分区这个终点的一个数据啊,分了这么五个区。哎, 那这里面区每个区之间可能有重复的数啊,我这里只是演示的啊,一万到,呃,一万二,其实是一万到一万一千九百九十九啊,这是两千个数啊,一万二到一万 三千九百九十九,这只是写出来啊,方便大家理解。最后呢是一个按列类型进行进行分区的一个试列。那这个列类型呢啊列类型,呃列字段呢?我选择的是一个新推这个字段啊,这个字段里面包含山东省的一个山山东省各城市的一些数据。 哎那分区列值怎么写的呢啊?就像这个啊,这里这个配置一样啊。啊。首先我创建了三个分区,一个叫鲁东啊,一个叫鲁中,还有一个 叫鲁南,你看。然后,呃鲁东的配置呢?是烟台市和青岛市啊,鲁中的配置济南市和聊城市,鲁南呢是青的,菏泽市,临沂市。哎,那这样创业的分区就是很容易理解了啊。鲁东这两个城市属于鲁鲁中啊,鲁东呢啊这两个城市啊,鲁南呢是这两个城市 啊,现在现在进行写入数据啊,如果是济南市呢就会写入到啊鲁中分区,如果是菏泽市呢就会写入到鲁南分区啊,如果是这个,嗯 济宁市呢啊如果是济宁市呢?哎。济宁市没有分,没有这个创建分区啊,没有创建分区那就不会写入。 那山东省可能是有很多城市,但是最终写进来的数据呢?只有这。哎这六个城市,因为因为只有这六个城市配置了分区。好了啊,谢谢大家啊,这个是本次的一个介绍。

ok, 嗯,大家好,嗯,我是来自嗯天宇的大数据工程师周立旺。嗯,目前是专注于数据集成相关的领域。嗯,本次我分分享的呃主题是,呃我,我们的数据集成的平台在尝试一路齐创的过程中的一些呃探索与实践 啊,因为我们的平台主要是面向嗯政企客户啊,目前是以阿帕奇 wifi 作为这种呃呃平台的核心啊,否则以一些呃原声的 fling 可以应用 呃,在此基础上进行分装和二次开发出各种各样的数据集成应用。嗯,提供面向不同行业的这样一个解决方案 啊。所以,本次这一题我会主要讲一下西川的和 nifi 结合使用的一些经验,因为西圈的和 nifi 他是各有优劣的。嗯,在能力上可以取长补短,去对标更多的功能,满足更多的客户需求。 本次议题分成五个部分,先简单介绍介绍一下啊,新鲜的和 nifi 啊,然后说下这两两者是怎么怎么结合啊,以及我们探索出来的一些呃用他们建设数据提升提升平台的一些方案啊。最后说一下我个人的一些经验和心得。 嗯,接下来来简单介绍一下这个西圈楼。西圈楼它本质上是对这个啊 spa 和 frank 进行了一层分装。 嗯,后面新版本又加入了自然的啊,西川的啊,自然的引擎啊,用户可以通过编辑配置文件啊,来快速构建工作流 啊。配置文件它主要包括四个部分啊,因为它是呃配置整体的环境,哨子是配配置呃读取数据源的相关信息啊,全是符号,是配置数呃 数据处理相关的,嗯,声音可是配置,呃数据去向相关的,嗯,与 kato 还有 nifi 这种相对重量级一些的平台相比, citanto 更更像是 data 这种。呃 啊,清量级的数据传输工具啊,用户可以根据需要来安装 sauce, sink transform 啊这些插件啊,就数据而言,牺牲了我。他支持呃 呃关系型数据库,像麦斯口, oracle, 呃, green prawn 了,然后等等这些,呃, 非冠系型数据库,包括像芒果 db, release 啊,呃文件类型的 ftphdfsoolss, 呃,然后还有还有其他的啊,总之,总之种类是非常繁多,全是凤啊啊,转换插线啊啊他他支持啊,常见的啊, 大小写转化啊,替放分割啊,取舍口取优优 id 啊,用户也可以根据啊自己的需求,然后自己去开发出一些呃,自定义的插件。 呃,我们安装和启动汽车呢,也是非常方便的。呃,下载了这个压缩包,解压之后 根据你需要运行的这种任务类型,然后配置好对应的。呃,配置文件啊,然后你直接可以呃运行启动脚本, spa 和跟弗林克,嗯,都包含有 v v 二这两种。呃 呃,引擎版本啊,现在还支持新的这种新圈楼的引擎,嗯,启动方式就是像图上所示的都都是非常类似啊,这里他的任务是支持可以提交到 logo 一样 k 八 s, 然后这些环境上, 然后接下来我来介绍一下这个 ipad 型 nifi。 ipad 型 nifi, 它是一个呃基于外部图形界面的,通过拖拽连接配置 啊,完成基于流程的一个编程啊,它可以以单节点形式运行,也可以以集训模式运行。嗯,图上所示就是呃呃,一个集训模式的这个 wifi 集群, 然后每一个呃呃这个长发型呢,就相当于是一个那一块节点,在他最上层,他是一个握把手腕,然后接接收这种啊,孕妇请求 啊,然后每个节点它是运行在一个 jvm 之上啊,比如 processor 和 floral controller, 然后支撑起这个整个业务逻辑的一个构建,然后它的底层数据,呃呃 呃,是以一个呃 profile, 然后这样的一个形式,然后进行抽象 the profile, 它会存储在 profile repository, content repository, 然后还有 provens repository, 然后直接相呃相相关的,呃存存储里面, 呃 nifi 常用的主见,嗯,就是,呃,包括以上五个部分,有这个 profile, 然后就是 possessor, 然后 connection, possesses group, 然后 control sodius, 还有一些其他高级的,就这里我展开到了, 嗯,这个 profile 是耐车,呃是耐发底层的这个呃数据结构,嗯,它由属性跟内容组成,它的属性可以用于描述数据,呃,比如提供一个呃输出数据到本地的 profile 这样一个组件,它属 输出的啊。 follow file 的属性就可以是这个文件名,然后这个 follow file 他是一个呃抽象的概念,嗯,可以通过, 呃,用户可以通过配置,然后把它就是放在内存上,嗯,牢牢或者或者硬盘上,呃,用户可以在界面以可视化的形式看到这些 froft, 哦,它的属性以及相关内容 啊。 prsets 是 nife 里面啊最核心的一个部分啊, prsets 可以通过呃编排连接来构建工作流啊。常用的 posses, 它就会包含这个读取数据啊,转化数据,输入数据这几大类的,当然还有一些别的一些组建啊, 那发现他总的支持的主见数量啊是非常多的啊,大概有几百个啊,每个主见都 支持配置单独的这个调度策略,呃,支持定时调度跟可用表达,是这种这种形式的调度 啊,但是耐发他虽然说有这么众多主见啊,像 cdc 呃相关的啊,他是支持的比较少的啊,目前是呃只支持这种卖车口 cdc, 呃,然后还有一些像新型的一些数据源读写组建,然后目前 mfi 呃支持的也不是特别好啊,比如说像蝴蝶啊这种 spot 啊,然后呃克里一个 house 啊,然后,然后这些新型的 wifi 没有支持的很好。 嗯, connection, 它是用于连接不同的呃处理器的,相当于是一个队列啊,从上游传下来的数据啊,会进入这个队列,直到 啊被下游的组建把数据消费啊,可能要选它可以配置不同的这种优先级策略啊,以及数据过期时间啊,纯属容量等等。 processor gulup 啊,用于将一种处理器组织在一起啊,外部的数据它是可以通过呃 nifa 的端口组件来进行输入与输出,然后它 nifa 还有一种就是呃 远程的这种轱辘盘,他可以用于接收这种远程时远程的 ipad 实力,然后传传过来的数据 更抽了,收尾时他相当于是呃运行在后台的一些服务啊,我理解是呃把处理器要用到了一些公共属性,嗯给他抽取出来啊,然后达到复用的目的,比如说像数据库这,然后他的嗯 gdp 系,然后再 来个连接,呃连接配置信息,然后像 capris 认认证服务,这些都可以呃抽取出来,然后嗯共总多个 poses, 然后牢记您附用。 嗯,下面说一下这个 c channel 跟 wifi 的他的一些整合方案。嗯,第一种方式他是可以用 nifi 的 execute processor 这样一个组建来分端 c channel, 利用 wifi 的它的调动能力,可以定时运行。这种啊西餐的任务啊, 通常先要调想要调度西昌的任务,他需要呃依赖像这种高分 scan 或者其他一些调度工具啊。现在开远的西昌的一个外部平台,他内部也是把这种任务提交到这种刀片刀片上, 然后去调度,然后这种使用 wifi, 然后这种调度方式,然后也提供了一种新的思路。 然后首先我们要把这个啊西川路跟 iphone 它部署到就有一个节点上去,然后就是可以通过 xq 和下手这个主机店,然后去执行这种呃呃,这个西川路它的启动脚本,呃,然后它会产生呃运行日制 这这个日志,然后他是可以通过这个呃这个投机节点,然后就往下游进行一个传播的,这日子里面会包含他的任务相关的一些信息啊。如如果这个任务启动成功的话,我们可以通过一些呃 呃,就是过滤文本的一些组件啊,然后去拿到这个任务 id, 然后就可以进一步的啊分装啊啊啊 文章书,比如说像啊停止任务,取消任务这样这样一些接口功能, 然后这个是图是在任务队列之中才看才看到的这个啊西双龙运行日志,然后可以看到,呃,他是呃任务起到这个样上面,然后这个弗林格,嗯,叫法 id 一个一样的, oppo 类型,可以选 id, 然后其实是都可以取到。 然后另外一种啊方式是可以基于 nifi 的啊,拆图赛这种协议来构建啊,其实用 nifi connect。 那首首先说一下什么是 nifi 的,呃,这个塞图萨协议呢啊, nifer 是可以基于,呃这种塞图萨协议跟外部的 nifa 节点或者集群进行一个通信啊,也可以基于这种协议与外部的一些应用啊进行通信。 这种该协议底层它是基于一种刷卡的跟 htv 协议实现啊。然后可以利用这个 nifi 他的有端口的组建,从外部接收数据,或者呃发送数据给给外外部的系统,就如图所示,左边这个流程是从外部数据,然后 啊通过输入端口,然后给这个 ipad, 然后右边这个是用 ipad, 然后通过端口啊,从数据到外部, 嗯, ok, 嗯,这个是我做的这个西川喽,嗯,肯德克的信口,然后这样一个 demo, 然后他是基于西川喽, frank v, 然后这样一个肯德基和引擎, 嗯,目前啊做了,稍微还比较粗糙了,所以说暂时还没提交到社区啊,后面提交了啊,这个后面往上了,然后会提交,嗯,因为 wifi 的他的数据是流失的啊。首先我们记 基于啊,我们,我们实现啊,福利 inco stringing 性格,然后这样一个接口,然后去重写这种奥特库的 stringing 方法来输出数据到 wifi, 嗯, 需要在配置中指定 wifi 的,嗯,这个实力的 atyl 以及啊你所需要通讯的他的目标端口 啊,然后利用福利和内置的呃 nifi 信用和组件来输出数据啊, nifi, 它的,呃数据实际上是由这种坑配的和区别的组成的,然后这里面代码里面实际上这个区别和,然后就简单设置成了空, 实际上我们是可以根据需要,然后把一些附加信息然后放到这个水平的里面。呃,这里面 wifi, 嗯,就用到了一个,嗯数据结构,它是 nife, 嗯 datespark 的,然后这样一个这样一个结构,呃,它实际上底层是基于这种晒土 赛,然后协议,然后进行一个实现,然后这个是 nifeconicsous 这样一个组建,其实不呃实现方式跟那个信可词实际上是差不多的。首先去呃实现 flingxton south, 然后这样一个接口,然后去呃重写嗯, goodette 这样一个方法了。 然后然后就是对于比如说像这种啊是 bug 引擎的,它相关的可耐克,他也可以以类似的方式,然后然后做出来。呃, 呃,以这种西川的 wifi cunec 这样一个形式,呃, nifi 跟西川的之间数据就可以,呃比较方便的进行传输,然后可以在一些场景下替代,用这种卡不卡作为这样一个,呃消息传传出中间的中间键的这样一个方案。然后接下来介绍 报一下我们这个天云的这个数据汽车平台, 嗯,就是我们的数据集成平台。呃,目前主要是面向这个。呃,政企客户,那是有这种标准化的工友云版本,呃也会根据这种客户的需求去进行定制化的。呃改造,嗯,假体假报跟整体规划大概是,呃这个五大块, 然后其中最核心的这种 connect, 然后他是嗯基于 ipad 型 wifi, 然后分装而成,嗯,原声的 wifi 对于用户实用而言,嗯,他不是特别友好 啊,他因为很多这种呃主见,主见,非常啊,非常主见酷,非常庞大,然后就是,呃就是界面也都是全英文的啊, 然后如果是没有经过专门的这种培训的话,用户使用的成本他会非常高。嗯,但是他的 wifi 本身的他的调度能力不是,他的能力还是非常强大的,比如说像,嗯,他支持像工作流编排调度,然后还有这些任务统计,然后版本挂历,然后数据血源的一些 也分析能力,他等等他都有,甚至,呃,他的免领 wifi 还是支持从边缘端采集互联网数据。 嗯,因此我们这个平台就是在原声的这种 wifi 之上做了大量的分装。嗯,开发了很多呃常常见的数据提成应用 啊,然后右边这一部分,然后他是这个,呃,我们这个数据总线啊,他实际上,嗯,底层是基于另外一套体系,时间,他是接近了阿里的 deleta 跟华为罗马这些呃业内标杆的一些产品 啊,我们在卡不卡上面啊进行了大量的封装,嗯,提供了方便的 sdk 以老以供外外部系统来订阅。呃,发到这个消息总线上的数据,然后不认可啊,在消费这个卡不卡数据,然后写入到这个汉服数据仓库或者其他一些目标, 然后我们会在上层的这种呃数据提升应用中去啊去分装这种可耐克的发送到这个卡布卡的这样一个呃工工作流,然后再由啊数据总线,然后接接收这个卡布卡数据写入到数据中台中, 然后嗯,在这个呃探索过程,嗯,探索过程中,然后就是我们也考虑呃引路西圈喽,引路西圈喽,他有什么好处呢?首先他呃骑车,他是 可以呃补足原有系统的一些 cdc 能力的。然后另外他也可以为我们这个啊,这个平台,那个数据总线的部分提供更丰富的这种,嗯,可耐可耐。艾特,嗯, 因为 nifi 的他的 cdc 组建,他是只支持麦斯口的数据源,那 codela 官方他也呃不推荐用这种 wifi 做 cdc, 即便说 wifi 他是可以去二次开发的,然后用 wifi 定制 cdc 组建,从开发成本上就可以做经济, 呃,因为我们这套平台他更多是想作为一个通用型的产品去满足呃各个行业的需求, 但是客户的需求是多种多样的,所以说,嗯,欠缺能力,还是,嗯考虑用其他较为成熟的工具来补助比较合适。正好这个习圈,哦,他是一个这个轻量级的工具,支持主 类型也非常丰富,并且依托于弗林格的生态,嗯,比较适合做这种 cdc 的这样一个场景 啊。另外我们数据总线部分设计之初就是只是想服务服务于我们内部的数据啊,数据中台产品,然后他把数据揭露到这个,呃,就是内部受伤的,受伤害不中啊。然后我们在新版本的叠带里面也希望说能够呃支持啊,写入更多的目标 啊,同时还希望能够有一些啊简单的 etl 能力,嗯,当然我们这一次实际上是也可以去开发这个福利可程去去解决这个问题。 但是后面经过调研发现这个细圈了,他只要通过简单的对一些他的内部程序解析配置部分进行改造,就可以整合到我们原有的这个体系之中。 然后下面接下来我来说说我们是呃具体是怎么做的。 首先这个是我们这个呃整个一个数据平台,然后他的一个呃就是业务的调用逻辑,然后用户在前端,然后就是呃 嗯,就填写好一些配置参数之后,把把这参数,然后呃发到这个 rober 服务上, rober 服务再用这种呃福利和样 api, 然后去取一个福利和应用,然后当然在在在此之前我们需要部署好这种哈路口,然后 相关环境以及把弗林克他需要呃意大利相关的这种包,然后都传到这个 hdf 上面, 然后对于这呃呃我们怎么把?就是最 开始那种弗林克程序,然后改造成就是呃,就是这种牺牲了我他的内核了。嗯,首先第一步我们可以把这种呃让这个呃内函数,然后他参数了和组织成这种 map 的形式,然后在弗林克这种 commenantagonya 里面增加这种麦克类型成员变量, 然后通过这个福利和 api task execute command 这样一个方法就接收到这个仓仓鼠类,然后最后把这个 map 给他传进去啊,然后 在这种呃可可费个 beautiful 里面,然后增加一个 load by map, 这样一个一个方法去去。嗯,加咱们以 map 类型的配置他这这这个 loadback map 方法内部实际上是调用了呃就是更费格,嗯, factory, 然后帕斯 map, 然后这样一个方法,然后去解析,解析出一个很费格, 嗯,大概经过这几个步骤的修改就可以,嗯嗯,就可以,就是说嗯,把这个西川老员就原来解析这种配置文件形式改成以一个解析 map 的形式,然后然后运行,然后然后只要把这个呃这样一个 齐全拢靠福利口,然后这样这样这个程序,然后重新打成一个架包,然后就可以就录入到我们那个数据评请集上评价体系里面去, 然后这个是一个呃,就是嗯,简单的一个 demo, 然后就是,嗯,首先就是可以配置一下这个西圈 local freedom, 然后他的一个放在 hdf 上的一个路径,然后把相关的西圈的依赖的这个, 然后这里就是改一下这个啊,就是程序运行的一个主类,把它改成就是 o r g 阿帕奇,西川的靠弗林克啊,西川的弗林克,然后这样这样这样一个主类,然后就可以啊直接替换掉我们这个原声属于总线部分那个,嗯,弗林克的部分。 另外一种形式是可以以这个 nifa 二次开发的形式来封装这种西川楼的主见,那最后的结果是可以打成一个 naa 包,这个 naaa 包他就是 类似成呃类,类似那个价包,然后他就把把这个包放在这个 nifi 的上立本目录下面,就可以就可以生效。嗯,这个这种方式与这些人提到了用 用这种 accurate processor 逐渐来启动期间了不同,这种二次开发的形式它可以呃各身层次的,然后进行一个定制,比如说我们可以重写这个 wifi 处理器的公司 double 和方法,然后去控制这 十八个或者否定和任务的呃停止,或者说重新用吹格方法来啊,对数据进行进一步的处理 啊。最后他这个,嗯,这个主见他展示出来效果,他是可能是这样的,嗯,他可以把这个西窗所需要的这个环境信息,然后还有 sause 全是奉信口,然后给他传到这个呃这这个主见里面去。 因为,呃调用从前端调用这个 wifi, 他的 api 老是很容易将这种参数进行一个传传递的,因此才有这种形式。然后是很 容易将这种呃习衰老,然后置于呃耐坏这个平台里面,去使其两者能力进行一个结合。 然后最后说一些我的个人的一些经验与心得。嗯,主要说谈谈这种工,在这个工作调研的过程中,后面参与到这个啊,开元,开元的项项目,然后这个 呃这样一个呃心路历程。最开始也是说从公司的一些大佬呢,听说,听说到这个西川的这个呃工具啊,还是挺不错的,因为看看了官网的一些介绍之后, 呃发现如果把这个西川的我的语录可以对后续平台开发节省不少工作量,于是开始着手调研,然后自己开始弄一些 demo 进行验证啊,也尝试开发了些,呃,这种插件可耐克特,后面正好社区出了这个开发者激励计划, 于是我就尝试把自己开发出的插件提交给社区啊,第一次提交,呃遇到了坑也比较多,嗯,想要提交成功,嗯,他需要呃呃在代码风格,单元测试,还有 license 什么的,这些都都能够通过检验 啊,前后就是也利用了啊,快三四天啊,快三四天了,十天左右,然后,然后才弄好, 那有些坑,我从看到那个社区上的一些我也没有没有解决,后面就加了项目运营人员的一些微信,这个 运营小助手他非常热情,就有问题就直接帮帮,我联系这种社区大佬进行一个咨询,就有人一零年之后这个就是提交,呃,提交这种代码进度就快非常多了,后面再次提交插件就是轻车熟路,有问题也可以在群里面问。 通过这种参与开源,我发现他有一个直接好处,就是可以融入到这个社区当中,可以对这些一些开源的项目底层特性有可以更加深入的进行了解, 比如想要做一些更深层次二次开发,也可以得到一些知识。嗯, ok, 就大概我的演讲就等,就目前是这些。

只顾怕开淘太老,我觉得已经没人用了。像这个叉 l 和 canal 这个场景不够,我们要自主开发,属于同步工具。我推荐首选这个 ctrl, 这是我们学员呢。嗯,自主开发的一个效果。呃,它的强大呢就不用说了,在这里我想提两点,就是第一个 ctrl 它对于我们多引擎的支持,第二个是它对多引擎多版本的支持。

张老师,用 cana 实时输出到 hive 会存在小文件问题吗?如何解决的?呃,会有的,就是针对这个问题呢,我们是单独有一个程序,会定时的去找这个小文件,然后会做一个合并, 目前是通过这个方式去解决的,就是他的小文件。是啊,分裂格是每一次拆个 pone 的去输出一次文件吗?我们这个拆个破案的大概是五分钟一次,所以说这个小文件还是有的,就是通过后台的一个 程序定时去扫描,然后去合并校文件啊。当时使用弗林克去输出汉武,主要是为了解决那个弗鲁姆到 hdfs, 然后再到汉武二 c 这个层面就是中间这个, 一是逻辑很长,这个炼录很长,二是嗯,很占用这个值班空间,所以说后面考虑使用写大佬的福利,可直接输出海沃尔 c 表 本录音节选字 apache sitano inca 被停五月 me top 答疑环节游组网络数据接入平台设计与实现专场收听更多回放请关注 sitano 开源社区,您可以搜索进群加入我们取得联系。

出现这个问题的原因是无法连接到外网的服务器下载安装所需的压缩包文件,我们可以自己下载好压缩包文件,提供给安装程序来解决这个问题。 打开我们的模拟器, 模拟器启动完成了。将 xp 框架的安装包 apple 文件直接拖入模拟器安装,安装完成后,打开 xp 框架,这里的提示我们不用管它, 这里显示激活不了,无法载入可用的 zip 文件。我们返回桌面,将这个 zip 文件拖入到模拟器 文件拖进来之后,我们把它勾选上,然后找到 sb 卡跟沐露下的安卓尔的文件夹,打开 data 文件夹,然后是这个 xp 框架的文件夹,打开盖世文件夹, 然后我们在这里新建一个名为 downlose 的文件家。 打开它,在新建一个名为 friend work 的文件夹, 把刚才的这部 文件粘贴到 framework 文件家里,然后重启模拟器, 模拟器重启完成之后,再打开 xp 框架,点击右上角的菜单按钮,勾选显示过时的版本,这是我们刚才导入的文件,就显示出来了。点击它安装, 授予 root 权限,等待安装完成, 重启模拟器, 再打开我们的 xp 框架,激活成功。