[Java] VectorSchemaRoot convertion into ArrowArrayStream
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
### Describe the enhancement requested
DuckDB support ArrowArrayStream as virtual table. JDBC driver of DuckDB has "register" ArrowStream method on DuckDBConnection.
VectorSchemaRoot convertion into ArrowArrayStream object will allows perform complex SQL transformation with CTE,window function on existing Arrow data from java process without data format transformation and also as workaround to write parquet file from VectorSchemaRoot.
```
try (DuckDBConnection connection = (DuckDBConnection) DriverManager.getConnection("jdbc:duckdb:")){
connection.registerArrowStream("arrow_stream", arrowArrayStream);
try (Statement preparedStatement = connection.createStatement()){
preparedStatement.executeUpdate("COPY (SELECT * FROM arrow_stream) TO '"+filePath+"' (FORMAT 'PARQUET', CODEC 'ZSTD')");
}
}
```
@lidavidm do you have idea how to implement such conversion?
### Component(s)
Java
コントリビューションガイド
調査の方向性
JavaコンポーネントとissueのDuckDB JDBCの例から始め、続いてVectorSchemaRootおよびArrowArrayStreamのAPIをDuckDBConnection.registerArrowStreamと併せて調査します。示されている登録およびSQLのワークフローがフォーマット変換なしで消費できるArrowArrayStreamに、VectorSchemaRootを変換できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- data
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100