exchange和Spark Writer什么关系?

exchange和Spark Writer什么关系?
一个代码来自nebula/src/tools/spark-sstfile-generator
一个代码来自nebula-java/tools/exchange
Nebula Graph Exchange(简称为 Exchange)是一款 Apache Spark™ 应用,用于在分布式环境中将集群中的数据批量迁移到 Nebula Graph中,能支持多种不同格式的批式数据和流式数据的迁移。
Spark Writer是Nebula Graph基于Spark的分布式数据导入工具,能够将多种数据仓库中的数据转化为图的点和边,并批量导入到图数据库中。

在 Spark 数据导入中的一些实践细节 这里说是同一个

  1. Exchange是由Spark Writer迁移而来,且在Spark Writer的基础上提供了更丰富的数据源,如MySQL、Neo4j、Hive、HBase、Kafka、Pulsar等。
  2. 而且Exchange修复了关于hdfs 文件导入时存在的数据类型与Nebula Schema数据类型不匹配的问题(如hdfs文件被Spark读成DataFrame时默认的数据类型均为String,当Nebula 中schema为int、double等类型时无法完成导入)。
  3. 后期的维护工作将集中在Exchange上。

建议利用spark进行数据导入时使用Exchange。

2 个赞

目前exchange是否只有Neo4j这些导入功能,想使用hdfs、hive还是只能用spark writer吗?

我理解hdfs、hive目前能力是有的
todo的是示例

1 个赞

这里的 [TODO] 表示后期会在文档里补上这几个操作示例。Exchange 实际上已经具备了这些功能。使用 Exchange 从其他数据源迁移数据时,暂时可以参考 Neo4j 的操作示例:https://github.com/vesoft-inc/nebula-docs-cn/blob/master/nebula-exchange/use-exchange/ex-ug-import-from-neo4j.md

2 个赞

明白,谢谢回复~

附加 Exchange和Spark-connector的关系:

5 个赞