比如导出到 HDFS 或者其他的 OSS,方便做结果集之后和其他系统的交互。
如果查询结果集想表达的是全图数据
- 企业版可以用 nebula-exchange-enterprise 版导出。
- 社区版可以用 nebula-spark-connector 读出数据,在 spark 里自己处理 data frame 保存成各种格式
不是说全图数据,是指查询得到的结果
- 在 console 里支持直接导出 csv 文件的语法找 console 文档(
:CSV output.csv
) - 大量的结果,可以自己用 SDK/Client 写逻辑,假设 python 的话,参考
GitHub - vesoft-inc/nebula-python: Client API of Nebula Graph in Python
from nebula3.gclient.net import ConnectionPool
from nebula3.Config import Config
import pandas as pd
from typing import Dict
from nebula3.data.ResultSet import ResultSet
def result_to_df(result: ResultSet) -> pd.DataFrame:
"""
build list for each column, and transform to dataframe
"""
assert result.is_succeeded()
columns = result.keys()
d: Dict[str, list] = {}
for col_num in range(result.col_size()):
col_name = columns[col_num]
col_list = result.column_values(col_name)
d[col_name] = [x.cast() for x in col_list]
return pd.DataFrame.from_dict(d, columns=columns)
比如这个函数可以把query的 result 存为 padas data frame,然后可以比较容易保存为 csv之类的格式到任何地方。
这一块很方便的开箱即用的功能社区版上还是一个空白,如果你有具体期待的方便的形式,欢迎给我们描绘一下哈。如果感兴趣有时间,也欢迎开启新的轮子,贡献出来~~
cc @MuYi-方扬
1 个赞
就算是导出,还是有点格式的要求。那就要多少写一点代码
1 个赞
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。