标签: pyarango

将批量数据导入 ArangoDB 的最佳方法

我目前正在研究 ArangoDB POC。我发现使用 PyArango 在 ArangoDB 中创建文档所花费的时间非常长。插入 300 个文档大约需要 5 分钟。我已经粘贴了下面的粗略代码,请让我知道是否有更好的方法来加快速度:

with open('abc.csv') as fp:
for line in fp:
    dataList = line.split(",")

    aaa = dbObj['aaa'].createDocument()
    bbb = dbObj['bbb'].createDocument() 
    ccc = dbObj['ccc'].createEdge()

    bbb['bbb'] = dataList[1]
    aaa['aaa'] = dataList[0]
    aaa._key = dataList[0]

    aaa.save()
    bbb.save()

    ccc.links(aaa,bbb)
    ccc['related_to'] = "gfdgf"
    ccc['weight'] = 0

    ccc.save()
Run Code Online (Sandbox Code Playgroud)

不同的集合由以下代码创建:

 dbObj.createCollection(className='aaa', waitForSync=False)
Run Code Online (Sandbox Code Playgroud)

graph arangodb pyarango

5
推荐指数
1
解决办法
1945
查看次数

ArangoDB 的图表 API pyArango

我正在使用 ArangoDB 社区版,我可以查询创建的图表AQL并获取 JSON 格式的结果,该结果在 ArangoDB Web 界面工具上以图形方式可视化。

AQL询问

FOR v,e,p IN 1..3 OUTBOUND 'germanCity/Hamburg' GRAPH 'routeplanner' 
OPTIONS{bfs :true} 
RETURN p
Run Code Online (Sandbox Code Playgroud)

JSON 输出

[
  {
    "edges": [
      {
        "_key": "6392826",
        "_id": "germanHighway/6392826",
        "_from": "germanCity/Hamburg",
        "_to": "germanCity/Cologne",
        "_rev": "_WmZ77pW--D",
        "distance": 500
      }
    ],
    "vertices": [
      {
        "_key": "Hamburg",
        "_id": "germanCity/Hamburg",
        "_rev": "_WmZ77Z---_",
        "population": 1000000,
        "isCapital": false,
        "loc": [
          53.5653,
          10.0014
        ]
      },
      {
        "_key": "Cologne",
        "_id": "germanCity/Cologne",
        "_rev": "_WmZ77Y6--B",
        "population": 1000000,
        "isCapital": false,
        "loc": [
          50.9364,
          6.9528
        ] …
Run Code Online (Sandbox Code Playgroud)

python graph arangodb aql pyarango

5
推荐指数
1
解决办法
1416
查看次数

标签 统计

arangodb ×2

graph ×2

pyarango ×2

aql ×1

python ×1