ロードオプション
データロードは、ビジネス要件に基づいてさまざまなデータソースから生のデータをクレンジングおよび変換し、結果のデータを StarRocks にロードして分析を容易にするプロセスです。
StarRocks は、データロードのためにさまざまなオプションを提供しています:
- ロード方法: Insert、Stream Load、Broker Load、Pipe、Routine Load、Spark Load
- エコシステムツール: StarRocks Connector for Apache Kafka® (Kafka connector)、StarRocks Connector for Apache Spark™ (Spark connector)、StarRocks Connector for Apache Flink® (Flink connector)、および SMT、DataX、CloudCanal、Kettle Connector などの他のツール
- API: Stream Load トランザクションインターフェース
これらのオプションはそれぞれ独自の利点があり、独自のデータソースシステムをサポートしています。
このトピックでは、これらのオプションの概要を提供し、それらの比較を通じて、データソース、ビジネスシナリオ、データ量、データファイル形式、ロード頻度に基づいて選択するロードオプションを決定するのに役立てます。
ロードオプションの紹介
このセクションでは、StarRocks で利用可能なロードオプションの特性とビジネスシナリオについて主に説明します。

以下のセクションでは、「バッチ」または「バッチロード」は、指定されたソースから一度に大量のデータを StarRocks にロードすることを指し、「ストリーム」または「ストリーミング」は、リアルタイムでデータを継続的にロードすることを指します。
ロード方法
Insert
ビジネスシナリオ:
- INSERT INTO VALUES: 少量のデータを内部テーブルに追加します。
- INSERT INTO SELECT:
-
INSERT INTO SELECT FROM
<table_name>: 内部または外部テーブルに対するクエリの結果をテーブルに追加します。 -
INSERT INTO SELECT FROM FILES(): リモートストレージ内のデータファイルに対するクエリの結果をテーブルに追加します。
注記AWS S3 では、この機能は v3.1 以降でサポートされています。HDFS、Microsoft Azure Storage、Google GCS、および S3 互換ストレージ (MinIO など) では、この機能は v3.2 以降でサポートされています。
-
ファイル形式:
- INSERT INTO VALUES: SQL
- INSERT INTO SELECT:
- INSERT INTO SELECT FROM
<table_name>: StarRocks テーブル - INSERT INTO SELECT FROM FILES(): Parquet および ORC
- INSERT INTO SELECT FROM
データ量: 固定されていません (データ量はメモリサイズに基づいて変動します。)
Stream Load
ビジネスシナリオ: ローカルファイルシステムからデータをバッチロードします。
ファイル形式: CSV および JSON
データ量: 10 GB 以下
Broker Load
ビジネスシナリオ:
- HDFS や AWS S3、Microsoft Azure Storage、Google GCS、S3 互換ストレージ (MinIO など) などのクラウドストレージからデータをバッチロードします。
- ローカルファイルシステムや NAS からデータをバッチロードします。
ファイル形式: CSV、Parquet、ORC、および JSON (v3.2.3 以降でサポート)
データ量: 数十 GB から数百 GB
Pipe
ビジネスシナリオ: HDFS または AWS S3 からデータをバッチロードまたはストリームロードします。
このロード方法は v3.2 以降でサポートされています。
ファイル形式: Parquet および ORC
データ量: 100 GB から 1 TB 以上
Routine Load
ビジネスシナリオ: Kafka からデータをストリームロードします。
ファイル形式: CSV、JSON、および Avro (v3.0.1 以降でサポート)
データ量: MB から GB のデータをミニバッチとして
Spark Load
ビジネスシナリオ: Spark クラスターを使用して、HDFS に保存された Apache Hive™ テーブルのデータをバッチロードします。
ファイル形式: CSV、Parquet (v2.0 以降でサポート)、および ORC (v2.0 以降でサポート)
データ量: 数十 GB から TB
エコシステムツール
Kafka connector
ビジネスシナリオ: Kafka からデータをストリームロードします。
Spark connector
ビジネスシナリオ: Spark からデータをバッチロードします。
Flink connector
ビジネスシナリオ: Flink からデータをストリームロードします。
SMT
ビジネスシナリオ: Flink を通じて MySQL、PostgreSQL、SQL Server、Oracle、Hive、ClickHouse、TiDB などのデータソースからデータをロードします。
DataX
ビジネスシナリオ: MySQL や Oracle などのリレー ショナルデータベース、HDFS、Hive など、さまざまな異種データソース間でデータを同期します。
CloudCanal
ビジネスシナリオ: MySQL、Oracle、PostgreSQL などのソースデータベースから StarRocks へのデータの移行または同期を行います。
Kettle Connector
ビジネスシナリオ: Kettle と統合します。Kettle の強力なデータ処理および変換機能と StarRocks の高性能データストレージおよび分析能力を組み合わせることで、より柔軟で効率的なデータ処理ワークフローを実現できます。