《Nebula Flink Connector在实时ETL中的应用实践 - 祝亚运.pdf》由会员分享,可在线阅读,更多相关《Nebula Flink Connector在实时ETL中的应用实践 - 祝亚运.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、https:/nebula-Nebula Flink ConnectorNebula Flink Connector在实时ETLETL中的应用实践祝亚运https:/nebula-目录目录Nebula Flink ConnectorNebula Flink Connector的原理的原理Nebula Flink ConnectorNebula Flink Connector的实践的实践Nebula Flink ConnectorNebula Flink Connector的问题的问题https:/nebula-Nebula Flink Connector的原理https:/nebula-Fli
2、nk 是新一代流批统一的计算引擎,它从不同的第三方存储引擎中读取数据,并进行处理,再写入另外的存储引擎中。Flink Connector 的作用就相当于一个连接器,连接 Flink 计算引擎跟外界存储系统。流计算中经常需要与外部存储系统交互,比如需要关联 MySQL 中的某个表,都需要通过连接器来读取外部系统的数据。本文所介绍 Nebula Graph 连接器 Nebula Flink Connector,采用类似 Flink 提供的 Flink Connector 形式,支持 Flink 读写分布式图数据库 Nebula Graph。Flink简介https:/nebula-Flink 提供
3、了丰富的编程模型,以支持在不同的场景下进行高效的数据处理。DataStream API 是 Flink 用于处理有界和无界数据流的 API。它提供了以下核心概念:数据源(数据源(SourceSource):):定义了数据流的输入,可以是文件、数据库、消息队列等。数据转换(数据转换(TransformationTransformation):):对数据流进行操作,如 map、filter、aggregate 等,转换会产生新的数据流。数据汇(数据汇(SinkSink):):定义了数据流的输出,可以将处理后的数据写入文件、数据库或消息队列等。Flink编程模型https:/nebula-Flink
4、中ETL概览图https:/nebula-https:/nebula-NebulaGraph Flink Connector NebulaGraph Flink Connector 是一款帮助 Flink 用户快速访问NebulaGraph的连接器,支持从NebulaGraph图数据库中读取数据,或者将其他外部数据源读取的数据写入NebulaGraph图数据库。NebulaGraph Flink Connector NebulaGraph Flink Connector 适用于以下场景:读取读取NebulaGraphNebulaGraph数据进行分析计算。数据进行分析计算。分析计算完的数据写入
5、分析计算完的数据写入NebulaGraphNebulaGraph。迁移数据。迁移数据。Flink 作为一款流式计算框架,它可处理有界数据,也可处理无界数据。所谓无界,即源源不断的数据,不会有终止,实时流处理所处理的数据便是无界数据;批处理的数据,即有界数据。而 Source 便是 Flink 处理数据的数据来源。Nebula Flink Connector Nebula Flink Connector 中的 Source 便是图数据库 Nebula Graph。Flink 提供了丰富的 Connector 组件允许用户自定义数据源来连接外部数据存储系统。Nebula Flink Connect
6、or简介https:/nebula-https:/nebula-Nebula Flink Connector运行时架构图https:/nebula-https:/nebula-https:/nebula-最终调的是NebulaVertexSource、NebulaEdgeSource的next方法来获取数据https:/nebula-https:/nebula-Nebula Flink Connector的Sink类图https:/nebula-NebulaGraph的写入操作是幂等的,即同一条数据的多次写入结果是