nebulagraph exchange3.0.x

2023-10-21 04:32
文章标签 nebulagraph exchange3.0

本文主要是介绍nebulagraph exchange3.0.x,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 什么是 Nebula Exchange
  • 版本系列
  • 适用场景
  • 产品优点
  • 数据源
  • Q & A
  • exchange-spark2.4不能把hive表数据导入

什么是 Nebula Exchange

Nebula Exchange(简称 Exchange)是一款 Apache Spark™ 应用,用于在分布式环境中将集群中的数据批量迁移到 Nebula Graph 中,能支
持多种不同格式的批式数据和流式数据的迁移。
Exchange 由 Reader、Processor 和 Writer 三部分组成。Reader 读取不同来源的数据返回 DataFrame 后,Processor 遍历 DataFrame 的
每一行,根据配置文件中fields 的映射关系,按列名获取对应的值。在遍历指定批处理的行数后,Writer 会将获取的数据一次性写入到 Nebula
Graph 中。下图描述了 Exchange 完成数据转换和迁移的过程。

在这里插入图片描述

版本系列

Exchange 有社区版和企业版两个系列,二者功能不同。社区版在 GitHub 开源开发,企业版属于 Nebula Graph 企业套餐,详情参见版本对比

适用场景

Exchange 适用于以下场景:

  • 需要将来自 Kafka、Pulsar 平台的流式数据,如日志文件、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务,以及来自
    数据中心内所连接设备或仪器的遥测数据等转化为属性图的点或边数据,并导入 Nebula Graph 数据库。
  • 需要从关系型数据库(如 MySQL)或者分布式文件系统(如 HDFS)中读取批式数据,如某个时间段内的数据,将它们转化为属性图的点或边数
    据,并导入 Nebula Graph 数据库。
  • 需要将大批量数据生成 Nebula Graph 能识别的 SST 文件,再导入 Nebula Graph 数据库。
  • 需要导出 Nebula Graph 中保存的数据。

仅企业版 Exchange 支持从 Nebula Graph 中导出数据。

产品优点

  • 适应性强:支持将多种不同格式或不同来源的数据导入 Nebula Graph 数据库,便于迁移数据。
  • 支持导入 SST:支持将不同来源的数据转换为 SST 文件,用于数据导入。
  • 支持 SSL 加密:支持在 Exchange 与 Nebula Graph 之间建立 SSL 加密传输通道,保障数据安全。
  • 支持断点续传:导入数据时支持断点续传,有助于节省时间,提高数据导入效率。(目前仅迁移 Neo4j 数据时支持断点续传。)
  • 异步操作:会在源数据中生成一条插入语句,发送给 Graph 服务,最后再执行插入操作。
  • 灵活性强:支持同时导入多个 Tag 和 Edge type,不同 Tag 和 Edge type 可以是不同的数据来源或格式。
  • 统计功能:使用 Apache Spark™ 中的累加器统计插入操作的成功和失败次数。
  • 易于使用:采用 HOCON(Human-Optimized Config Object Notation)配置文件格式,具有面向对象风格,便于理解和操作。

数据源

Exchange 3.0.0 支持将以下格式或来源的数据转换为 Nebula Graph 能识别的点和边数据,然后通过 nGQL 语句的形式导入 Nebula Graph:

  • 存储在 HDFS 或本地的数据:
  • Apache Parquet
  • Apache ORC
  • JSON
  • CSV
  • Apache HBase™
  • 数据仓库:
  • Hive
  • MaxCompute
  • 图数据库:Neo4j(Client 版本 2.4.5-M1)
  • 关系型数据库:
  • MySQL
  • PostgreSQL
  • 列式数据库:ClickHouse
  • 流处理软件平台:Apache Kafka®
  • 发布/订阅消息平台:Apache Pulsar 2.4.5

除了用 nGQL 语句的形式导入数据,Exchange 还支持将数据源的数据生成 SST 文件,然后通过 Console 导入 SST 文件。
此外,企业版 Exchange 支持以 Nebula Graph 为源,将数据导出到 CSV 文件。

Q & A

exchange-spark2.4不能把hive表数据导入

Q:
用exchange-spark2.4 最终编译为nebula-exchange_spark_2.4-3.0.0.jar

现在操作为从hive中导入到nebulagraph3.0遇到两问题
1 在用spark2.4.8 scala212导入时,应该是兼容问题不能成功导入
2 后来用spark.2.4.5 操作 现在提示找不到hive中表,可以确认单独运行spark查询这张表是没有问题的
后又看3.0.2文档中有写加入-h true才能开启hive,但这个参数应该在最后加,加上后如下错误
在这里插入图片描述
A:
与文档一样操作编译jar

mvn clean package -Dmaven.test.skip=true -Dgpg.skip -Dmaven.javadoc.skip=true -pl nebula-exchange_spark_2.4 -am -Pscala-2.11 -Pspark-2.4

文档导入hive写的,需要参数hive支持
在这里插入图片描述
需要改变下参数写法

export SPARK_HOME=/opt/spark-2.4.5-211
$SPARK_HOME/bin/spark-submit \
--master yarn \
--deploy-mode client \
--class com.vesoft.nebula.exchange.Exchange \
--files /home/bigdata_tec/wsw/graph/application.conf \
/home/bigdata_tec/wsw/graph/nebula-exchange_spark_2.4-3.0.0.jar -c  /home/bigdata_tec/wsw/graph/application.conf -h

还有提示版本为Nebula Graph Exchange 2.0.0可能是个内部小bug

这篇关于nebulagraph exchange3.0.x的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251968

相关文章

docker-compose安装NebulaGraph 3.8.0

文章目录 一. 安装NebulaGraph1.1 通过 Git 克隆nebula-docker-compose仓库的3.8.0分支到主机1.2 部署1.3 卸载1.4 查看 二. 安装NebulaGraph Studio2.1 下载 Studio 的部署配置文件2.2 创建nebula-graph-studio-3.10.0目录,并将安装包解压至目录中2.3 解压后进入 nebula-gr

Nebula Graph-05-NebulaGraph nGQL和SQL区别

前言 系列文章: Nebula Graph-01-Nebula Graph简介和安装以及客户端连接 Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志 Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用 Nebula Graph-04-NebulaGraph nGQL的介绍和使用 Nebula Graph-05-Nebul

Nebula Graph-06-NebulaGraph Java 使用 和SpringBoot集成Nebula Graph

前言 系列文章: Nebula Graph-01-Nebula Graph简介和安装以及客户端连接 Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志 Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用 Nebula Graph-04-NebulaGraph nGQL的介绍和使用 Nebula Graph-05-Nebul

探索NebulaGraph:一个开源分布式图数据库的技术解析

1. 介绍 NebulaGraph的定位和用途 NebulaGraph是一款开源的分布式图数据库,专注于存储和处理大规模图数据。它的主要定位是为了解决图数据存储和分析的问题,能够处理节点和边数量巨大、结构复杂的图结构数据。NebulaGraph被设计用来应对各种领域的图数据挑战,包括社交网络分析、推荐系统、网络安全监测等。无论是从数据量还是计算复杂度上,NebulaGraph都能够应对各种挑战

NebulaGraph基础(默认看了入门篇)

感谢阅读 官方链接运算符比较运算符布尔符管道符集合运算符UNION、UNION DISTINCT、UNION ALL官方示例代码(并集)INTERSECT官方示例代码(交集)MINUS 字符串运算符官方代码(字符串) 列表运算符算术运算符 NebulaGraph的额外函数谓词函数谓词函数官方代码geo 函数geo函数官方示例代码 查询语句核心语句FETCH获取点的属性值官方代码(获取多个点的

NebulaGraph学习笔记-自定义池连接

最近项目需要连接NebulaGraph图数据库获取部分数据,于是查看了一些相关资料,发现可以通过类似数据库连接池NebulaPool方式连接。主要也是以下几个部分:创建连接池,、创建会话、执行查询、解析结果。下面是一个简单的DEMO记录。 组件项目 相关依赖包 <!-- SpringBoot依赖包 --><dependency><groupId>org.springframework.bo

NebulaGraph学习笔记-NgBatis连接

最近项目需要连接NebulaGraph图数据库获取部分数据,于是查看了一些相关资料,发现一个NgBatis框架。 NgBatis是一个使用类似MyBatis+MyBatis-Plus的方式操作NebulaGraph的JavaORM框架。同时NgBatis也是一款针对NebulaGraph+SpringBoot的数据库ORM框架。借鉴于MyBatis的使用习惯进行开发,当中包含了部分类似于myba

NebulaGraph-3.4.1图数据库集群安装部署

1.集群架构 Nebula集群分为测试集群、生产集群,不同环境的集群对应的服务数量不同,大致如下: 集群类别 Meta服务 Graph服务 Storage服务 测试集群 1 >=1 >=1 生产集群 3 >=3 >=3 测试环境一般是3台服务器,可以按照如下配置搭建: 服务器 Meta服务 Graph服务 Storage服务 服务器A 1 1

图数据库NebulaGraph学习

1.图空间(Space)操作 1.1创建图空间,指定vid_type为整形 CREATE SPACE play_space (partition_num = 10, replica_factor = 1, vid_type = INT64) COMMENT = "运动员库表空间"; 1.2创建图空间,指定vid_type为字符串 CREATE SPACE play_space (parti