Nebula 支持将查询结果集,批量导出到 OSS 等外部地址吗?

比如导出到 HDFS 或者其他的 OSS,方便做结果集之后和其他系统的交互。

如果查询结果集想表达的是全图数据

  • 企业版可以用 nebula-exchange-enterprise 版导出。
  • 社区版可以用 nebula-spark-connector 读出数据,在 spark 里自己处理 data frame 保存成各种格式

不是说全图数据,是指查询得到的结果

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 天后被自动关闭。不再允许新回复。