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

データのマージ (V2)

このインターフェースを使用すると、既存の collection に対して、データありまたはデータなしで field を追加できます。

  • データありで field を追加する場合は、データファイルを AWS S3 bucket または Zilliz Cloud Volume にアップロードし、データがソース collection と同じ merge key を共有していることを確認する必要があります。マージされたデータは、指定した新しい collection に保存されます。
  • データなしで追加する場合、新しい field は null 値で作成されます。

この操作を実行するには、project admin 以上の権限が必要です。詳細については、Merge Data を参照してください。

POST/v2/etl/merge
接続エンドポイント

https://api.cloud.zilliz.com

NaN
shell
export BASE_URL="https://api.cloud.zilliz.com"
パラメータ
Authorizationstringheader必要

認証トークンは、適切な権限を持つ API key である必要があります。

値の例: Bearer {{TOKEN}}
リクエスト・ボディ
clusterIdstring必要

この操作の対象 collection を保持する cluster の名前。

値の例: in00-xxxxxxxxxxxxxxxxxx
dbNamestring必要

この操作の対象 collection を保持する database の名前。

collectionNamestring必要

この操作の対象 collection の名前。

destDbNamestring必要

作成する collection を保持する database の名前。

destCollectionNamestring必要

作成する collection の名前。この collection にマージされたデータが格納されます。

dataSourceobject

上記で指定した collection とマージするデータ。データソースとして、PARQUET 形式のデータファイルを AWS S3 bucket または Zilliz Cloud Volume にアップロードし、その後、必要に応じてアクセス認証情報とともにデータファイルの URL を指定する必要があります。

typestring

データソースの種類。volume を使用する場合、このパラメータを volume に設定します。

値の例: volume
volumeNamestring

PARQUET ファイルを保持する Zilliz Cloud Volume の名前。このパラメータは、typevolume に設定した場合にのみ適用されます。volume の作成方法の詳細については、Create Volume 操作のドキュメントを参照してください。

dataPathstring

既存の collection とマージする PARQUET ファイルの URL。

値の例: path/to/your/data.parquet
mergeFieldstring

データマージ操作は、リレーショナルデータベースシステムにおける LEFT JOIN 操作に似ており、merge field はソース collection と列指向データを含む Parquet ファイルの間で共有キーとして機能します。merge field として、この共有キーの名前を指定する必要があります。merge field は、既存の collection と Parquet ファイルの両方に存在している必要があります。一般的なケースでは、primary key を merge field として使用できます。

newFieldsarray

新しい collection に作成する field の schema。schema は field schema の配列である必要があります。

[]newFieldsobject

追加する field の schema。

fieldNamestring

追加する現在の field の名前。

dataTypestring

追加する現在の field のデータ型。

paramsobject

追加する現在の field の追加設定。

maxLengthinteger

VARCHAR field 値の最大長。このパラメータは、dataTypeVARCHAR に設定されている場合にのみ適用されます。

clusterIdstring必要

この操作の対象 collection を保持する cluster の名前。

値の例: in00-xxxxxxxxxxxxxxxxxx
dbNamestring必要

この操作の対象 collection を保持する database の名前。

collectionNamestring必要

この操作の対象 collection の名前。

destDbNamestring必要

作成する collection を保持する database の名前。

destCollectionNamestring必要

作成する collection の名前。この collection にマージされたデータが格納されます。

dataSourceobject

上記で指定した collection とマージするデータ。データソースとして、PARQUET 形式のデータファイルを AWS S3 bucket または Zilliz Cloud Volume にアップロードし、その後、必要に応じてアクセス認証情報とともにデータファイルの URL を指定する必要があります。

typestring

データソースの種類。AWS S3 bucket を使用する場合は、これを s3 に設定します

dataPathstring

既存の collection とマージする PARQUET ファイルの URL。

credentialobject

PARQUET ファイルを保持する bucket にアクセスするための認証情報。このパラメータは、types3 に設定した場合にのみ適用されます。

accessKeystring

PARQUET ファイルを保持する bucket の access key。

secretKeystring

PARQUET ファイルを保持する bucket の secret key。

mergeFieldstring

データマージ操作は、リレーショナルデータベースシステムにおける LEFT JOIN 操作に似ており、merge field はソース collection と列指向データを含む Parquet ファイルの間で共有キーとして機能します。merge field として、この共有キーの名前を指定する必要があります。merge field は、既存の collection と Parquet ファイルの両方に存在している必要があります。一般的なケースでは、primary key を merge field として使用できます。

newFieldsarray

既存の collection に追加する field の schema。schema は field schema の配列である必要があります。

[]newFieldsobject

追加する field の schema。

fieldNamestring

追加する現在の field の名前。

dataTypestring

追加する現在の field のデータ型。

paramsobject

追加する現在の field の追加設定。

maxLengthinteger

VARCHAR field 値の最大長。このパラメータは、dataTypeVARCHAR に設定されている場合にのみ適用されます。

Use Volumebash
export TOKEN="YOUR_API_KEY"

curl --request POST \
--url "${BASE_URL}/v2/etl/merge" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"clusterId": "in00-xxxxxxxxxxxxxxx",
"dbName": "my_database",
"collectionName": "my_collection",
"destDbName": "my_database",
"destCollectionName": "my_merged_collection",
"dataSource": {
"type": "volume",
"volumeName": "my_volume",
"dataPath": "/path/to/your/data.parquet"
},
"mergeField": "id",
"newFields": [
{
"fieldName": "my_field1",
"dataType": "VARCHAR",
"params": {
"maxLength": 512
}
}
]
}'
レスポンス

bulk-import job の ID。

codeinteger

レスポンスコード。

値の例: 0
dataarray

作成された data-merge job の ID を含むレスポンス payload。

[]dataobject

作成された data-merge job。

jobIdstring

現在の data-merge job の ID。

エラーメッセージを返します。

codeinteger

レスポンスコード。

messagestring

エラーメッセージ。

Successjson
{
"code": 0,
"data": {
"jobId": "job-xxxxxxxxxxxxxxxxxxxxx"
}
}