読み込み概要
Apache Dorisは、データのインポートと統合のためのさまざまな方法を提供しており、様々なソースからデータベースにデータをインポートできます。これらの方法は4つのタイプに分類できます:
-
リアルタイム書き込み: HTTPまたはJDBC経由でDorisテーブルにリアルタイムでデータが書き込まれ、即座な分析とクエリが必要なシナリオに適しています。
-
少量のデータ(5分に1回)の場合は、JDBC INSERTを使用できます。
-
より高い並行性や頻度(20以上の並行書き込みまたは1分間に複数回の書き込み)の場合は、Group Commitを有効にしてJDBC INSERTまたはStream Loadを使用できます。
-
高スループットの場合は、HTTP経由でStream Loadを使用できます。
-
-
ストリーミング同期: リアルタイムデータストリーム(例:Flink、Kafka、トランザクションデータベース)がDorisテーブルにインポートされ、リアルタイム分析とクエリに最適です。
-
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)からDorisテーブルにデータがバッチ読み込みされ、非リアルタイムデータインポートのニーズに適しています。
-
Broker Loadを使用してObject StorageとHDFSからのファイルをDorisに書き込むことができます。
-
INSERT INTO SELECTを使用してObject Storage、HDFS、NASからのファイルをDorisに同期的に読み込むことができ、JOBを使用して非同期的に操作を実行できます。
-
Stream LoadまたはDoris Streamloaderを使用してローカルファイルをDorisに書き込むことができます。
-
-
外部データソース統合: 外部ソース(例:Hive、JDBC、Iceberg)からデータをクエリして部分的にDorisテーブルにインポートします。
- カタログを作成して外部ソースからデータを読み取り、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 | カタログ内のテーブルやObject Storage、HDFSのファイルなどの外部ソースからのインポート。 | SQL | 同期、Job経由での非同期 |
| Routine Load | Kafkaからのリアルタイムインポート | csv, json | 非同期 |
| MySQL Load | ローカルファイルからのインポート。 | csv | 同期 |
| Group Commit | 高頻度での書き込み。 | 使用するインポート方法に依存 | - |