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

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

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は以下のタイプのオブジェクトストレージサービスもサポートしています:

  • 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+
  • 上記以外の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+
  • 手動リフレッシュなしでパーティション変更の即時可視性
    • 設定: カタログプロパティ enable_cache_list_namesfalse に設定して、Hive パーティション名のキャッシュを無効にします。
    • 利点: パーティション変更の遅延なしの可視性
    • 欠点: パーティション名キャッシュが無効な場合のパフォーマンス低下。各クエリはパーティションリストにアクセスする必要があります。
    • サポートバージョン: 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 のトランザクションテーブルの読み取りはサポートされていません。

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+

v3.3.0以降、StarRocksは上記のメタデータ読み取りおよびキャッシュ ポリシーをサポートしています。ポリシーの選択は、クラスタ内のマシンに応じてシステムが自動的に調整します。通常は変更する必要はありません。メタデータのキャッシュが有効になっているため、パフォーマンスを考慮するとメタデータの鮮度が損なわれる可能性があります。したがって、特定のクエリ要件に応じて調整することができます:

  • [デフォルトおよび推奨] 分レベルのデータ不整合を許容する最適なパフォーマンス
    • 設定: 追加の設定は必要ありません。デフォルトでは、10 分以内に更新されたデータは表示されません。この間、クエリーは古いデータを返します。
    • メリット: 最高のクエリパフォーマンス。
    • デメリット:遅延によるデータの不整合。
  • インポートやパーティションの追加削除によって生成された新しいデータファイルはすぐに表示され、手動での更新は必要ありません。
    • 設定: Catalog プロパティ iceberg_table_cache_ttl_sec0 に設定すると、StarRocks はクエリごとに新しいスナップショットをフェッチします。
    • メリット: ファイルやパーティションの変更が遅延なく表示される。
    • デメリット:クエリごとにスナップショットをフェッチする動作のため、パフォーマンスが低下します。

ファイルフォーマット

機能サポートファイルフォーマット
読み取り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 以降で REST 上の Iceberg ビューをサポートしています。

現在、StarRocks を通じて作成された 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 テーブルスキーマを表示します。
  • 現在、Delta Lake Catalog は次のテーブル機能をサポートしています:
    • V2 Checkpoint (v3.3.0 以降)
    • タイムゾーンなしのタイムスタンプ (v3.3.1 以降)
    • カラムマッピング (v3.3.6 以降)
    • Deletion Vector (v3.4.1 以降)

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 以降でサポートされています。

Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.