メインコンテンツまでスキップ
バージョン: 3.1

機能サポート: データレイク分析

v2.3以降、StarRocksは外部カタログを介して外部データソースの管理とデータレイク内のデータ分析をサポートしています。

このドキュメントでは、外部カタログの機能サポートと関連する機能のサポートバージョンについて説明します。

ユニバーサル機能

このセクションでは、外部カタログ機能のユニバーサル機能をリストアップしています。これには、ストレージシステム、ファイルリーダー、クレデンシャル、権限、および Data Cache が含まれます。

外部ストレージシステム

ストレージシステムサポートバージョン
HDFSv2.3+
AWS S3v2.3+
Microsoft Azure Storagev3.0+
Google GCSv3.0+
Alibaba Cloud OSSv3.1+
Huawei Cloud OBSv3.1+
Tencent Cloud COSv3.1+
Volcengine TOSv3.1+
Kingsoft Cloud KS3v3.1+
MinIOv3.1+
Ceph S3v3.1+

上記のストレージシステムに対するネイティブサポートに加えて、StarRocksは以下のタイプのオブジェクトストレージサービスもサポートしています。

  • HDFS互換のオブジェクトストレージサービス (COS Cloud HDFS、OSS-HDFS、OBS PFSなど)
    • 説明: BEの設定項目 fallback_to_hadoop_fs_list にオブジェクトストレージURIプレフィックスを指定し、クラウドベンダーが提供する.jarパッケージをディレクトリ /lib/hadoop/hdfs/ にアップロードする必要があります。fallback_to_hadoop_fs_list に指定したプレフィックスを使用して外部カタログを作成する必要があります。
    • サポートバージョン: v3.1.9+, v3.2.4+
  • 上記以外のS3互換のオブジェクトストレージサービス
    • 説明: BEの設定項目 s3_compatible_fs_list にオブジェクトストレージURIプレフィックスを指定する必要があります。s3_compatible_fs_list に指定したプレフィックスを使用して外部カタログを作成する必要があります。
    • サポートバージョン: v3.1.9+, v3.2.4+

圧縮フォーマット

このセクションでは、各ファイルフォーマットがサポートする圧縮フォーマットのみをリストしています。各外部カタログがサポートするファイルフォーマットについては、対応する外部カタログのセクションを参照してください。

ファイルフォーマット圧縮フォーマット
ParquetNO_COMPRESSION, SNAPPY, LZ4, ZSTD, GZIP, LZO (v3.1.5+)
ORCNO_COMPRESSION, ZLIB, SNAPPY, LZO, LZ4, ZSTD
TextNO_COMPRESSION, LZO (v3.1.5+)
AvroNO_COMPRESSION (v3.2.1+), DEFLATE (v3.2.1+), SNAPPY (v3.2.1+), BZIP2 (v3.2.1+)
RCFileNO_COMPRESSION (v3.2.1+), DEFLATE (v3.2.1+), SNAPPY (v3.2.1+), GZIP (v3.2.1+)
SequenceFileNO_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 設定:
  • block_cache_enabledatacache_enable に置き換えます。
  • block_cache_mem_sizedatacache_mem_size に置き換えます。
  • block_cache_disk_sizedatacache_disk_size に置き換えます。
  • block_cache_disk_pathdatacache_disk_path に置き換えます。
  • block_cache_meta_pathdatacache_meta_path に置き換えます。
  • block_cache_block_sizedatacache_block_size に置き換えます。
セッション変数:
  • enable_scan_block_cacheenable_scan_datacache に置き換えます。
  • enable_populate_block_cacheenable_populate_datacache に置き換えます。
Data Cache が利用可能なバージョンにクラスターをアップグレードした後でも、Block Cache パラメータは有効です。Data Cache が有効になると、新しいパラメータが古いものを上書きします。両方のパラメータグループの混合使用は許可されていません。そうしないと、一部のパラメータが有効になりません。
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_cachefalse に設定します。
    • 利点: ファイル変更の遅延なしの可視性。
    • 欠点: ファイルメタデータキャッシュが無効な場合のパフォーマンス低下。各クエリはファイルリストにアクセスする必要があります。
    • サポートバージョン: v2.5.5+
  • 手動更新なしでパーティション変更の即時可視性
    • 設定: Hive パーティション名のキャッシュを無効にするには、カタログプロパティ enable_cache_list_namesfalse に設定します。
    • 利点: パーティション変更の遅延なしの可視性。
    • 欠点: パーティション名キャッシュが無効な場合のパフォーマンス低下。各クエリはパーティションリストにアクセスする必要があります。
    • サポートバージョン: v2.5.5+
ヒント

データ変更のリアルタイム更新が必要で、HMS のパフォーマンスが最適化されていない場合、キャッシュを有効にし、自動インクリメンタル更新を無効にし、上流でデータ変更があるたびにスケジューリングシステムを使用してメタデータを手動で更新 (REFRESH EXTERNAL TABLE を使用) できます。

ストレージシステム

機能説明サポートバージョン
再帰的サブディレクトリリストカタログプロパティ enable_recursive_listingtrue に設定して再帰的サブディレクトリリストを有効にします。再帰的リストが有効になると、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 型をサポートしていません。

Hive ビュー

StarRocks は v3.1.0 以降、Hive ビューのクエリをサポートしています。

注記

StarRocks が Hive ビューに対してクエリを実行する際、StarRocks および Trino の構文を使用してビューの定義を解析しようとします。StarRocks がビューの定義を解析できない場合、エラーが返されます。StarRocks が Hive または Spark に特有の関数で作成された Hive ビューの解析に失敗する可能性があります。

クエリ統計インターフェース

機能サポートバージョン
SHOW CREATE TABLE をサポートして Hive テーブルスキーマを表示v3.0+
ANALYZE をサポートして統計を収集v3.2+
ヒストグラムと STRUCT サブフィールド統計の収集をサポートv3.3+

データシンキング

機能サポートバージョン備考
CREATE DATABASEv3.2+Hive で作成されたデータベースの場所を指定するかどうかを選択できます。データベースの場所を指定しない場合、そのデータベースの下に作成されたテーブルの場所を指定する必要があります。そうしないと、エラーが返されます。データベースの場所を指定した場合、場所が指定されていないテーブルはデータベースの場所を継承します。データベースとテーブルの両方に場所を指定した場合、最終的にテーブルの場所が有効になります。
CREATE TABLEv3.2+パーティションテーブルと非パーティションテーブルの両方に対応しています。
CREATE TABLE AS SELECTv3.2+
INSERT INTO/OVERWRITEv3.2+パーティションテーブルと非パーティションテーブルの両方に対応しています。
CREATE TABLE LIKEv3.2.4+
シンクファイルサイズv3.3+セッション変数 connector_sink_target_max_file_size を使用して、シンクされる各データファイルの最大サイズを定義できます。

Iceberg Catalog

メタデータ

Iceberg Catalog は、HMS、Glue、および Tabular をメタストアとしてサポートしています。ほとんどの場合、デフォルトの設定が推奨されます。

セッション変数 enable_iceberg_metadata_cache のデフォルト値は、異なるシナリオに対応するために変更されました。

  • v3.2.1からv3.2.3まで、このパラメータは使用されるメタストアサービスに関係なくデフォルトで true に設定されています。
  • v3.2.4以降、Iceberg クラスターが AWS Glue をメタストアとして使用している場合、このパラメータは引き続きデフォルトで true です。しかし、Iceberg クラスターが他のメタストアサービス (Hive メタストアなど) を使用している場合、このパラメータはデフォルトで false です。
  • v3.3.0以降、このパラメータのデフォルト値は再び true に設定されています。これは、StarRocks が新しい Iceberg メタデータフレームワークをサポートしているためです。Iceberg Catalog と Hive Catalog は、同じメタデータポーリングメカニズムと FE 設定項目 background_refresh_metadata_interval_millis を使用します。
機能サポートバージョン
分散メタデータプラン (大量のメタデータを扱うシナリオに推奨)v3.3+
マニフェストキャッシュ (少量のメタデータでレイテンシーに高い要求があるシナリオに推奨)v3.3+

ファイルフォーマット

機能サポートファイルフォーマット
読み取りParquet, ORC
シンクParquet
  • Parquet 形式および ORC 形式の Iceberg V1 テーブルは、位置削除と等価削除をサポートしています。
  • ORC 形式の Iceberg V2 テーブルは、v3.0.0から位置削除をサポートし、Parquet 形式のものは v3.1.0から位置削除をサポートしています。
  • ORC 形式の Iceberg V2 テーブルは、v3.1.8およびv3.2.3から等価削除をサポートし、Parquet 形式のものは v3.2.5から等価削除をサポートしています。

Iceberg ビュー

StarRocks は v3.3.2 以降、Iceberg ビューのクエリをサポートしています。現在、StarRocks を通じて作成された Iceberg ビューのみがサポートされています。

注記

StarRocks が Iceberg ビューに対してクエリを実行する際、StarRocks および Trino の構文を使用してビューの定義を解析しようとします。StarRocks がビューの定義を解析できない場合、エラーが返されます。StarRocks が Iceberg または Spark に特有の関数で作成された Iceberg ビューの解析に失敗する可能性があります。

クエリ統計インターフェース

機能サポートバージョン
SHOW CREATE TABLE をサポートして Iceberg テーブルスキーマを表示v3.0+
ANALYZE をサポートして統計を収集v3.2+
ヒストグラムと STRUCT サブフィールド統計の収集をサポートv3.3+

データシンキング

機能サポートバージョン備考
CREATE DATABASEv3.1+Iceberg で作成されたデータベースの場所を指定するかどうかを選択できます。データベースの場所を指定しない場合、そのデータベースの下に作成されたテーブルの場所を指定する必要があります。そうしないと、エラーが返されます。データベースの場所を指定した場合、場所が指定されていないテーブルはデータベースの場所を継承します。データベースとテーブルの両方に場所を指定した場合、最終的にテーブルの場所が有効になります。
CREATE TABLEv3.1+パーティションテーブルと非パーティションテーブルの両方に対応しています。
CREATE TABLE AS SELECTv3.1+
INSERT INTO/OVERWRITEv3.1+パーティションテーブルと非パーティションテーブルの両方に対応しています。

その他のサポート

機能サポートバージョン
TIMESTAMP 型のパーティションフォーマット yyyy-MM-ddTHH:mm および yyyy-MM-dd HH:mm の読み取りをサポートv2.5.19+
v3.1.9+
v3.2.3+

Hudi Catalog

  • StarRocks は、Hudi の Parquet 形式のデータのクエリをサポートし、Parquet ファイルの SNAPPY、LZ4、ZSTD、GZIP、および NO_COMPRESSION 圧縮フォーマットをサポートしています。
  • StarRocks は、Hudi の Copy On Write (COW) テーブルと Merge On Read (MOR) テーブルを完全にサポートしています。
  • StarRocks は v3.0.0 以降、SHOW CREATE TABLE をサポートして Hudi テーブルスキーマを表示します。

Delta Lake Catalog

  • StarRocks は、Delta Lake の Parquet 形式のデータのクエリをサポートし、Parquet ファイルの SNAPPY、LZ4、ZSTD、GZIP、および NO_COMPRESSION 圧縮フォーマットをサポートしています。
  • StarRocks は、Delta Lake の MAP 型および STRUCT 型データのクエリをサポートしていません。
  • StarRocks は v3.0.0 以降、SHOW CREATE TABLE をサポートして Delta Lake テーブルスキーマを表示します。

JDBC Catalog

カタログタイプサポートバージョン
MySQLv3.0+
PostgreSQLv3.0+
ClickHousev3.3+
Oraclev3.2.9+
SQL Serverv3.2.9+

MySQL

機能サポートバージョン
メタデータキャッシュv3.3+

データ型の対応

MySQLStarRocksサポートバージョン
BOOLEANBOOLEANv2.3+
BITBOOLEANv2.3+
SIGNED TINYINTTINYINTv2.3+
UNSIGNED TINYINTSMALLINTv3.0.6+
v3.1.2+
SIGNED SMALLINTSMALLINTv2.3+
UNSIGNED SMALLINTINTv3.0.6+
v3.1.2+
SIGNED INTEGERINTv2.3+
UNSIGNED INTEGERBIGINTv3.0.6+
v3.1.2+
SIGNED BIGINTBIGINTv2.3+
UNSIGNED BIGINTLARGEINTv3.0.6+
v3.1.2+
FLOATFLOATv2.3+
REALFLOATv3.0.1+
DOUBLEDOUBLEv2.3+
DECIMALDECIMAL32v2.3+
CHARVARCHAR(columnsize)v2.3+
VARCHARVARCHARv2.3+
TEXTVARCHAR(columnsize)v3.0.1+
DATEDATEv2.3+
TIMETIMEv3.1.9+
v3.2.4+
TIMESTAMPDATETIMEv2.3+

PostgreSQL

データ型の対応

MySQLStarRocksサポートバージョン
BITBOOLEANv2.3+
SMALLINTSMALLINTv2.3+
INTEGERINTv2.3+
BIGINTBIGINTv2.3+
REALFLOATv2.3+
DOUBLEDOUBLEv2.3+
NUMERICDECIMAL32v2.3+
CHARVARCHAR(columnsize)v2.3+
VARCHARVARCHARv2.3+
TEXTVARCHAR(columnsize)v2.3+
DATEDATEv2.3+
TIMESTAMPDATETIMEv2.3+

ClickHouse

v3.3.0 以降でサポートされています。

Oracle

v3.2.9 以降でサポートされています。

SQL Server

v3.2.9 以降でサポートされています。

Elasticsearch Catalog

Elasticsearch Catalog は v3.1.0 以降でサポートされています。

Paimon Catalog

Paimon Catalog は v3.1.0 以降でサポートされています。

MaxCompute Catalog

MaxCompute Catalog は v3.3.0 以降でサポートされています。

Kudu Catalog

Kudu Catalog は v3.3.0 以降でサポートされています。