试用nebulagraph

按照手册的快速入门,本地部署操作,基本没什么问题。有一些注意事项NebulaGraph Database 手册 (nebula-graph.com.cn)

默认安装路径在/usr/local/nebula

ip的问题

  • 在步骤3的时候
$ ./nebula-console -addr <ip> -port <port> -u <username> -p <password>[-t 120] [-e "nGQL_statement" | -f filename.nGQL]
  • 注意这里,-addr <ip>用本机的ip,-port <port>可以用默认的端口,graph的默认端口是9669,和配置文件中的一致,配置文件在安装路径的etc文件夹中
  • 由于我是在容器中安装测试的nebulagraph,所以需要查看容器的ip地址,就得退出容器,在主服务器中运行
docker inspect <container_id> | grep IPAddress

  • 其他的都用默认即可,例如,我打开nebula-console的命令是
./nebula-console -addr 172.17.0.2 -port 9669 -u root -p 12345678

修改配置文件

  • 需要去修改配置文件,不然在步骤四注册Storage服务的时候会出错
  • 修改nebula-graphd.confnebula-metad.confnebula-storaged.conf三个配置文件

  • 三个配置文件类似,主要是把这两个ip改为本机ip

nebulagraph三个服务对应的端口号

  • graph对应的默认端口号9669
  • meta对应的默认端口号9559
  • storage对应的默认端口号9779

然后增加storage主机,ip还是本机ip,记得端口号是9779

显示Status "ONLINE"就对了

Nebula-importer

接下来用nebula-importer从本机导入csv文件

我是用对应的二进制包安装的,nebulagraph的版本是3.6,对应下载的安装包版本是4.0Release NebulaGraph Importer 4.1.0 · vesoft-inc/nebula-importer (github.com)

然后直接用命令

dpkg -i <package_name>

默认安装路径在/usr/bin

然后要自己创建yaml配置文件,复制并修改官网上的配置文件内容使用 NebulaGraph Importer - NebulaGraph Database 手册 (nebula-graph.com.cn)

有几个地方需要注意:

Client

client:
  version: v3
  address:
"172.17.0.2:9669" # 要改为自己的ip
  user: root
  password: 12345678 # 改为自己的用户名和密码

  ssl:
    enable:
false
    certPath: "/home/xxx/cert/importer.crt"
    keyPath: "/home/xxx/cert/importer.key"
    caPath: "/home/xxx/cert/root.crt"
    insecureSkipVerify: false
  concurrencyPerAddress: 10
  reconnectInitialInterval: 1s
  retry: 3
  retryInitialInterval: 1s

manager

manager:
  spaceName: mars_test_1 # 改为要创建的SPACE的名字
  batch: 128
  readerConcurrency: 50
  importerConcurrency: 512
  statsInterval: 10s
  hooks:
    before:
      - statements:
        - |
            DROP SPACE IF EXISTS mars_test_1; # 改为要创建的SPACE的名字
            CREATE SPACE IF NOT EXISTS mars_test_1(vid_type=FIXED_STRING(30)); # 改为要创建的SPACE的名字,并且vid_type要先指定,指定为String比较方便
            USE mars_test_1; # 改为要创建的SPACE的名字

             CREATE TAG IF NOT EXISTS observationobject(id string, name string); # 这里就是先创建了一个tag,然后csv文件对应的也是这个tag,csv文件里的内容是实体

这是对应的csv数据文件

            # 在这里先定义好schema,就是创建好tag什么的,不知道直接在console里创建好行不行,但是为了方便统一,我还是直接在这里定义


        wait: 10s
    after:
      - statements:
          - |
            SHOW SPACES;

log

log:
  level: INFO
  console: true
  files:
    - /usr/local/nebula/logs/nebula-importer.log   # 需要自己创建

Source

sources:
  - path: /home/nebulagraph/observationobject.csv  # csv文件的位置

    batch: 256
    csv:
      delimiter: "|" # csv文件的分隔符,也可以改为 ","
      withHeader: false
      lazyQuotes: false
    tags:
    - name: observationobject # tag的名字
#      mode: INSERT
#      filter:  
#        expr: Record[1] == "XXX"
      id:
        type: "STRING"
        #function: "hash" #这是用哈希函数,这里如果用了哈希函数,输出就是int,如果这里要用哈希函数,那么在前面CREATE TAG的时候就要把vid设置为整数
       index: 0        # 用什么作为vid,这里我直接用第一列作为vid
        #concatItems:
          #- person_
          #- 0
          #- _id
      props: # 属性和前面的CREATE TAG那里对应
        - name: "id"
          type: "STRING"
          index: 0
        - name: "name"
          type: "STRING"
          index: 1

import数据

进入nebula-importer安装文件夹,运行

./nebula-importer --config <yaml file path>

显示这个就是成功了

检索实验

TODO

现在只有一个tag两个vertex,先试一下检索,成功了的话就说明import是成功的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/488562.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文带你解决如何设置Redis临时密码和永久密码

&#x1f49f;&#x1f49f;前言 ​ 友友们大家好&#xff0c;我是你们的小王同学&#x1f617;&#x1f617; 今天给大家打来的是 一文带你解决如何设置Redis临时密码和永久密码 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞&#x1f44d; 收藏⭐ 评论&…

桥接模式:解耦抽象与实现,实现灵活多变的扩展结构

文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、实例详解五、优缺点分析总结&#xff1a; 一、引言 ​ 桥接模式是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化。这种模式通过创建一个抽象层和实现层的结构&…

超平面介绍

超平面公式 (1) 超平面是指n维线性空间中维度为n-1的子空间。它可以把线性空间分割成不相交的两部分。比如二维空间中&#xff0c;一条直线是一维的&#xff0c;它把平面分成了两部分&#xff1b;三维空间中&#xff0c;一个平面是二维的&#xff0c;它把空间分成了两部分。(2…

高级RAG:使用RAGAs + LlamaIndex进行RAG评估,包括原理、图和代码

原文地址&#xff1a;Using RAGAs LlamaIndex for RAG evaluation 2024 年 2 月 5 日 如果您已经为实际的业务系统开发了检索增强生成&#xff08;Retrieval Augmented Generation, RAG&#xff09;应用程序&#xff0c;那么您可能会关心它的有效性。换句话说&#xff0c;您…

数据结构-列表LinkedList

一,链表的简单的认识. 数组,栈,队列是线性数据结构,但都算不上是动态数据结构,底层都是依托静态数组,但是链表是确实真正意义上的动态数组. 为什么要学习链表? 1,链表时最简单的动态数据结构 2,掌握链表有助于学习更复杂的数据结构,例如,二叉树,trie. 3,学习链表有助于更深入…

抖音短视频:表情包账号的魅力与运营之道以及制作与工具

在短视频的浪潮中&#xff0c;抖音以其独特的创意和趣味性成为了年轻人的最爱。其中&#xff0c;表情包账号更是凭借其生动、形象的表现方式&#xff0c;赢得了众多用户的青睐。本文将深入探讨抖音短视频表情包账号的魅力所在以及如何有效运营。 一、表情包账号的独特魅力 情…

virtualenv env_name 使用 virtualenv 创建 python 虚拟环境

为什么要用这个 win7 32 环境下 pycharm 只能用低版本的&#xff0c;比如 2016,2018 此时pycharm 图形界面创建的 虚拟环境版本很低&#xff0c;有些包不兼容&#xff0c;因此用 virtualenv 模块&#xff0c;可以创建 20 版本以上的虚拟环境 virtualenv env_name官方文档 http…

88. 合并两个有序数组——javascript实现

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0c;合并后数组…

c#高级——插件开发

案例&#xff1a;WinForm计算器插件开发 1.建立插件库&#xff0c;设置各种自己所需的插件组件 如下图所示&#xff1a;进行了计算器的加减法插件计算组件 Calculator_DLL为总插件父类 Calculator_DLL_ADD 为插件子类的控件对象 Calculator_DLL_Sub Calculator_DLL_Factory 为…

Python爬虫-存储到csv乱码-使用utf-8-sig编码

代码 import requests import csvdef get_data():url https://careers.tencent.com/tencentcareer/api/post/Query?timestamp1708743664770&countryId&cityId&bgIds&productId&categoryId&parentCategoryId&attrId&keywordpython&pageIn…

数学建模资料分享

1. 往年各赛题的优秀论文 可以用来参考一下论文是怎么写的。参考论文的结构&#xff0c;格式&#xff0c;思路等等。 链接&#xff1a;https://pan.baidu.com/s/1WG2t4-x9MjtaSgkq4ue5AQ?pwdnlzx 提取码&#xff1a;nlzx --来自百度网盘超级会员V4的分享 2.论文模板 链接&a…

链表 删除链表中任意位置的节点

//删除链表中任意位置的节点 #include<stdio.h> #include <stdlib.h> struct Node {int data;struct Node* next; }; struct Node* head; void Insert(int x){Node* temp(Node*)malloc(sizeof(struct Node));//创建节点/*malloc返回指向起始地址的指针 因为malloc…