ローディング概要
Apache Dorisは、データのインポートと統合のための様々な方法を提供しており、様々なソースからデータベースにデータをインポートできます。これらの方法は4つのタイプに分類できます:
-
リアルタイム書き込み: HTTPまたはJDBC経由でDorisTableにリアルタイムでデータが書き込まれ、即座の分析やクエリが必要なシナリオに適しています。
-
少量のデータ(5分に1回)の場合、JDBC INSERTを使用できます。
-
より高い同時実行数や頻度(20以上の同時書き込みや1分間に複数回の書き込み)の場合、Group Commitを有効にしてJDBC INSERTやStream Loadを使用できます。
-
高スループットの場合、HTTP経由でStream Loadを使用できます。
-
-
ストリーミング同期: リアルタイムデータストリーム(例:Flink、Kafka、トランザクショナルデータベース)がDorisTableにインポートされ、リアルタイム分析やクエリに最適です。
-
Flink Doris Connectorを使用してFlinkのリアルタイムデータストリームをDorisに書き込むことができます。
-
KafkaのリアルタイムデータストリームにはRoutine LoadまたはDoris Kafka Connectorを使用できます。Routine LoadはKafkaからDorisにデータをプルし、CSVとJSON形式をサポートします。一方、Kafka ConnectorはDorisにデータを書き込み、Avro、JSON、CSV、Protobuf形式をサポートします。
-
Flink CDCまたはDataxを使用してトランザクショナルデータベースのCDCデータストリームをDorisに書き込むことができます。
-
-
バッチインポート: 外部ストレージシステム(例:Object Storage、HDFS、ローカルファイル、NAS)からDorisTableにデータがバッチロードされ、非リアルタイムデータインポートのニーズに適しています。
-
Broker Loadを使用してObject StorageやHDFSのファイルをDorisに書き込むことができます。
-
INSERT INTO SELECTを使用してObject Storage、HDFS、NASからファイルを同期的にDorisにロードでき、JOBを使用して非同期で操作を実行することもできます。
-
Stream LoadまたはDoris Streamloaderを使用してローカルファイルをDorisに書き込むことができます。
-
-
外部データソース統合: 外部ソース(例:Hive、JDBC、Iceberg)からデータをクエリし、部分的にDorisTableにインポートします。
- カタログを作成して外部ソースからデータを読み取り、INSERT INTO SELECTを使用してこのデータをDorisに同期でき、JOB経由で非同期実行も可能です。
Dorisの各インポート方法は、デフォルトで暗黙的なトランザクションです。トランザクションに関する詳細情報については、Transactionsを参照してください。
インポート方法のクイックオーバービュー
Dorisのインポートプロセスは主に、データソース、データ形式、インポート方法、エラー処理、データ変換、トランザクションなどの様々な側面を含みます。以下の表で、各インポート方法に適したシナリオとサポートされているファイル形式を素早く確認できます。
| インポート方法 | 使用ケース | サポートされているファイル形式 | インポートモード |
|---|---|---|---|
| Stream Load | ローカルファイルのインポートやHTTP経由でのアプリケーションからのプッシュデータ。 | csv, json, parquet, orc | 同期 |
| Broker Load | オブジェクトストレージ、HDFSなどからのインポート。 | csv, json, parquet, orc | 非同期 |
| INSERT INTO VALUES | JDBC経由でのデータ書き込み。 | SQL | 同期 |
| INSERT INTO SELECT | カタログ内のTableやObject Storage、HDFSのファイルなどの外部ソースからのインポート。 | SQL | 同期、Job経由での非同期 |
| Routine Load | Kafkaからのリアルタイムインポート | csv, json | 非同期 |
| MySQL Load | ローカルファイルからのインポート。 | csv | 同期 |
| Group Commit | 高頻度での書き込み。 | 使用するインポート方法に依存 | - |