メインコンテンツまでスキップ

Formatter

JSON または Parquet の formatter 実装を通じて、バッファされた BulkWriter の列を 1 つ以上のインポートファイルにシリアライズします。

typescript
interface Formatter

実装:

  • class JsonFormatter implements Formatter

    バッファされた行を JSON ファイルに書き込みます。トップレベルの rows プロパティには、動的フィールドが有効な場合はそれを含む、シリアライズされた entity が格納されます。

    • extension -

      [必須]

      生成されるファイルに対して .json を返します。

    • persist -

      [必須]

      バッファされた列をシリアライズし、生成された JSON ファイルパスを返します。

  • class ParquetFormatter implements Formatter

    @shanghaikid/parquetjs を使用してバッファされた行を Parquet ファイルに書き込み、Milvus の scalar、vector、array、および動的フィールドの値を Parquet 互換の表現に変換します。

    • extension -

      [必須]

      生成されるファイルに対して .parquet を返します。

    • persist -

      [必須]

      バッファされた列をシリアライズし、生成された Parquet ファイルパスを返します。

Example​

formatter 実装を選択する​

SDK によって公開されている JSON および Parquet 実装を作成します。

javascript
import { JsonFormatter, ParquetFormatter } from '@zilliz/milvus2-sdk-node';

const jsonFormatter = new JsonFormatter();
const parquetFormatter = new ParquetFormatter();

console.log(jsonFormatter.extension); // .json
console.log(parquetFormatter.extension); // .parquet

Notes​

  • Formatter インターフェースは、読み取り専用の extension フィールドと persist(columns, dynamicRows, rowCount, dir, schema) メソッドを公開しており、このメソッドは生成されたローカルファイルパスを返します。

  • BulkWriter は、format が json の場合に JsonFormatter を選択し、format が parquet の場合に ParquetFormatter を選択します。

  • Parquet 出力には SDK 依存関係 @shanghaikid/parquetjs が必要です。