Nebula Spark Connector为何不添加data reload机制

  • nebula 版本:2.0.1
  • 部署方式 :K8S
    我在阅读Nebula Spark Connector的源码,发现与Nebula Exchange相比,前者是遵循标准的Spark DataSourceV2接口来实现的,代码相对比较规范。但是我在阅读的过程中发现,与后者相比,前者似乎缺少了data reload机制,虽然两者都有收集fail execution语句的逻辑,但是Nebula Spark Connector似乎只是把fail execution语句返回给driver端,并由driver端执行一个打日志的操作而已,而且哪怕写入失败,程序似乎也会正常运行下去。

    那为何不在其原来的基础上添加一个data reload机制呢?还是说是我看漏了哪部分代码?

理解的很赞,Spark Connector没有做reload。
因为本质上Exchange是一个导入工具,要把整个导入工作形成闭环。 而Spark connector是提供API,只将每次调用API的结果信息暴露给用户。

如果要提供reload,那中间需要用户自己读取driver日志并做日志解析,将一条条失败的执行语句抽取出来。如果你有兴趣,欢迎贡献reload功能哈