Stream Load トランザクションインターフェースを使用したデータのロード
バージョン 2.4 以降、StarRocks は Stream Load トランザク ションインターフェースを提供し、Apache Flink® や Apache Kafka® などの外部システムからデータをロードするトランザクションに対して 2 フェーズコミット (2PC) を実装します。Stream Load トランザクションインターフェースは、高度に並行したストリームロードのパフォーマンスを向上させます。
このトピックでは、Stream Load トランザクションインターフェースと、このインターフェースを使用して StarRocks にデータをロードする方法について説明します。
説明
Stream Load トランザクションインターフェースは、HTTP プロトコル互換のツールや言語を使用して API 操作を呼び出すことをサポートしています。このトピックでは、curl を例にしてこのインターフェースの使用方法を説明します。このインターフェースは、トランザクション管理、データ書き込み、トランザクションの事前コミット、トランザクションの重複排除、トランザクションのタイムアウト管理など、さまざまな機能を提供します。
Stream Load は CSV および JSON ファイル形式をサポートしています。個々のサイズが 10 GB を超えない少数のファイルからデータをロードしたい場合、この方法が推奨されます。Stream Load は Parquet ファイル形式をサポートしていません。Parquet ファイルからデータをロードする必要がある場合は、INSERT+files() を使用してください。
トランザクション管理
Stream Load トランザクションインターフェースは、トランザクションを管理するために使用される以下の API 操作を提供します。
-
/api/transaction/begin: 新しいトランザクションを開始します。 -
/api/transaction/commit: 現在のトランザクションをコミットしてデータ変更を永続化します。 -
/api/transaction/rollback: 現在のトランザクションをロールバックしてデータ変更を中止します。