機能サポート: データレイク分析
v2.3以降、StarRocksは外部カタログを介して外部データソースの管理とデータレイク内のデータの分析をサポートしています。
このドキュメントでは、外部カタログの機能サポートと関連する機能のサポートバージョンについて説明します。
共通機能
このセクションでは、外部カタログ機能の共通機能をリストアップします。これには、ストレージシステム、ファイルリーダー、認証情報、権限、および Data Cache が含まれます。
外部ストレージシステム
| ストレージシステム | サポートバージョン |
|---|---|
| HDFS | v2.3+ |
| AWS S3 | v2.3+ |
| Microsoft Azure Storage | v3.0+ |
| Google GCS | v3.0+ |
| Alibaba Cloud OSS | v3.1+ |
| Huawei Cloud OBS | v3.1+ |
| Tencent Cloud COS | v3.1+ |
| Volcengine TOS | v3.1+ |
| Kingsoft Cloud KS3 | v3.1+ |
| MinIO | v3.1+ |
| Ceph S3 | v3.1+ |
上記のストレージシステムに対するネイティブサポートに加えて、StarRocksは以下のタイプのオブジェクトストレージサービスもサポートしています:
- COS Cloud HDFS、OSS-HDFS、OBS PFSなどのHDFS互換オブジェクトストレージサービス
- 説明: BEの設定項目
fallback_to_hadoop_fs_listにオブジェクトストレージのURIプレフィックスを指定し、クラウドベンダーが提供する.jarパッケージをディレクトリ /lib/hadoop/hdfs/ にアップロードする必要があります。fallback_to_hadoop_fs_listに指定したプレフィックスを使用して外部カタログを作成する必要があります。 - サポートバージョン: v3.1.9+, v3.2.4+
- 説明: BEの設定項目
- 上記以外のS3互換オブジェクトストレージサービス
- 説明: BEの設定項目
s3_compatible_fs_listにオブジェクトストレージのURIプレフィックスを指定する必要があります。s3_compatible_fs_listに指 定したプレフィックスを使用して外部カタログを作成する必要があります。 - サポートバージョン: v3.1.9+, v3.2.4+
- 説明: BEの設定項目
圧縮フォーマット
このセクションでは、各ファイルフォーマットがサポートする圧縮フォーマットのみをリストします。各外部カタログがサポートするファイルフォーマットについては、対応する外部カタログのセクションを参照してください。
| ファイルフォーマット | 圧縮フォーマット |
|---|---|
| Parquet | NO_COMPRESSION, SNAPPY, LZ4, ZSTD, GZIP, LZO (v3.1.5+) |
| ORC | NO_COMPRESSION, ZLIB, SNAPPY, LZO, LZ4, ZSTD |
| Text | NO_COMPRESSION, LZO (v3.1.5+) |
| Avro | NO_COMPRESSION (v3.2.1+), DEFLATE (v3.2.1+), SNAPPY (v3.2.1+), BZIP2 (v3.2.1+) |
| RCFile | NO_COMPRESSION (v3.2.1+), DEFLATE (v3.2.1+), SNAPPY (v3.2.1+), GZIP (v3.2.1+) |
| SequenceFile | NO_COMPRESSION (v3.2.1+), DEFLATE (v3.2.1+), SNAPPY (v3.2.1+), BZIP2 (v3.2.1+), GZIP (v3.2.1+) |
Avro、RCFile、および SequenceFile ファイルフォーマットは、StarRocks 内のネイティブリーダーではなく、Java Native Interface (JNI) によって読み取られます。そのため、これらのファイルフォーマットの読み取りパフォーマンスは、Parquet および ORC よりも劣る可能性があります。
管理、認証情報、およびアクセス制御
| 機能 | 説明 | サポートバージョン |
|---|---|---|
| Information Schema | 外部カタログの Information Schema をサポートします。 | v3.2+ |
| データレイクアクセス制御 | 外部カタログに対して StarRocks のネイティブ RBAC モデルをサポートします。外部カタログ内のデータベース、テーブル、 およびビュー(現在は Hive ビューと Iceberge ビューのみ)の権限を、StarRocks のデフォルトカタログと同様に管理できます。 | v3.0+ |
| Apache Ranger 上の外部サービスの再利用 | アクセス制御のために Apache Ranger 上の外部サービス(例: Hive Service)の再利用をサポートします。 | v3.1.9+ |
| Kerberos 認証 | HDFS または Hive Metastore に対する Kerberos 認証をサポートします。 | v2.3+ |
Data Cache
| 機能 | 説明 | サポートバージョン |
|---|---|---|
| Data Cache (Block Cache) | v2.5以降、StarRocksはCacheLibを使用して実装されたData Cache機能(当時はBlock Cacheと呼ばれていました)をサポートしており、その拡張性の最適化の可能性が限られていました。v3.0以降、StarRocksはキャッシュの実装をリファクタリングし、Data Cacheに新機能を追加し、各バージョンでより良いパフォーマンスを実現しました。 | v2.5+ |
| ローカルディスク間のデータ再バランス | データの偏りが10%未満に制御されるようにするデータ再バランス戦略をサポートします。 | v3.2+ |
| Block Cache を Data Cache に置き換え | パラメータの変更 BE 設定:
| v3.2+ |
| Data Cache を監視する API の新しいメトリクス | Data Cache を監視する個別の API をサポートします。キャッシュ容量とヒット数を含む Data Cache メトリクスを http://${BE_HOST}:${BE_HTTP_PORT}/api/datacache/stat インターフェースを介して表示できます。 | v3.2.3+ |
| Data Cache のメモリトラッカー | Data Cache のメモリトラッ カーをサポートします。メモリ関連のメトリクスを http://${BE_HOST}:${BE_HTTP_PORT}/mem_tracker インターフェースを介して表示できます。 | v3.1.8+ |
| Data Cache ウォームアップ | CACHE SELECT を実行することで、リモートストレージから必要なデータを事前にキャッシュに取り込むことができ、最初のクエリがデータを取得するのに時間がかかりすぎるのを防ぎます。CACHE SELECT はデータを出力したり計算を行ったりしません。データを取得するだけです。 | v3.3+ |
Hive Catalog
メタデータ
Hive Catalog の Hive Metastore (HMS) および AWS Glue のサポートはほぼ重複していますが、HMS の自動インクリメンタル更新機能は推奨されません。ほとんどの場合、デフォルトの設定が推奨されます。
メタデータの取得パフォーマンスは、ユーザーの HMS または HDFS NameNode のパフォーマンスに大きく依存します。すべての要因を考慮し、テスト結果に基づいて判断してください。
- [デフォルトおよび推奨] 分単位のデータ不整合を許容する最高のパフォーマンス
- 設定: デフォルト設定を使用できます。デフォルトで10分以内に更新されたデータは表示されません。この期間内にクエリに古いデータが返されます。
- 利点: 最高のクエリパフォーマンス。
- 欠点: レイテンシーによるデータ不整合。
- サポートバージョン: v2.5.5+ (v2.5ではデフォルトで無効、v3.0+ではデフォルトで有効)
- 手動リフレッシュなしで新しくロードされたデータ(ファイル)の即時可視性
- 設定: カタログプロパティ
enable_remote_file_cacheをfalseに設定して、基礎データファイルのメタデータキャッシュを無効にします。 - 利点: ファイル変更の遅延なしの可視性。
- 欠点: ファイルメタデータキャッシュが無効な場合のパフォーマンス低下。各クエリはファイルリストにアクセスする必要があります。
- サポートバージョン: v2.5.5+
- 設定: カタログプロパティ
- 手動リフレッシュなしでパーティション変更の即時可視性
- 設定: カタログプロパティ
enable_cache_list_namesをfalseに設定して、Hive パーティション名のキャッシュを無効にします。 - 利点: パーティション変更の遅延なしの可視性
- 欠点: パーティション名キャッシュが無効な場合のパフォーマンス低下。各クエリはパーティションリストにアクセスする必要があります。
- サポートバージョン: v2.5.5+
- 設定: カタログプロパティ
データ変更のリアルタイム更新が必要で、HMS のパフォーマンスが最適化されていない場合は、キャッシュを有効にし、自動インクリメンタル更新を無効にし、上流でデータ変更があるたびにスケジューリングシステムを使用してメタデータを手動でリフレッシュ(REFRESH EXTERNAL TABLE を使用)できます。
ストレージシステム
| 機能 | 説明 | サポートバージョン |
|---|---|---|
| 再帰的サブディレクトリリスト | カタログプロパティ enable_recursive_listing を true に設定して再帰的サブディレクトリリストを有効にします。再帰的リストが有効になると、StarRocks はテーブルとそのパーティション、およびテーブルとそのパーティションの物理的な場所内のサブディレクトリ からデータを読み取ります。この機能は、マルチレイヤーのネストされたディレクトリの問題に対処するために設計されています。 | v2.5.9+ v3.0.4+ (v2.5およびv3.0ではデフォルトで無効、v3.1+ではデフォルトで有効) |
ファイルフォーマットとデータ型
ファイルフォーマット
| 機能 | サポートファイルフォーマット |
|---|---|
| 読み取り | Parquet, ORC, TEXT, Avro, RCFile, SequenceFile |
| シンク | Parquet (v3.2+), ORC (v3.3+), TEXT (v3.3+) |
データ型
INTERVAL、BINARY、および UNION 型はサポートされていません。
TEXT形式の Hive テーブルは MAP および STRUCT 型をサポートしていません。