期待实现通过Arrow Flight SQL写入Arrow格式数据(adbc_ingest功能)

Viewed 48

当前通过Arrow Flight SQL写入数据,需要把数据写成SQL语句,这样就只能小数据写入,而且对于python中调用不太友好。如果想写入常规数据,需要用pydoris走streamload(http协议)才行。
Arrow Flight SQL 导入数据

我调研了OLAP对arrow生态的支持,据我了解大部分OLAP都只实现了Arrow Flight SQL进行读取,还没有实现直接写入arrow数据。如果实现了通过Arrow Flight SQL协议写入arrow数据(即adbc_ingest),可以直接把arrow table通过Arrow Flight SQL进行ingest。这在分布式OLAP中是凤毛麟角的,可以实现零拷贝写入,应该是效率最高的。

Github的issue也有人近期提出了这个期待。
ISSUE

因为Doris原生实现了Arrow Flight SQL,不需要开发driver来迁移API,与其他数据库相比效率更高。建议进一步支持arrow生态。现在只有DuckDB原生支持Arrow Flight SQL且支持arrow格式的直接写入,期待Doris成为第一个原生支持Arrow Flight SQL写入arrow数据的分布式OLAP。
https://arrow.apache.org/adbc/current/driver/status.html

1 Answers

内部已经记录,后续会进行评估哈~