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

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

バージョン 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 カタログ

メタデータ

Hive カタログの 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 カタログ

メタデータ

Iceberg カタログは、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 カタログと Hive カタログは、同じメタデータポーリングメカニズムと 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 カタログ

  • 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 カタログ

  • 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 カタログ

カタログタイプサポートバージョン
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 カタログ

Elasticsearch カタログはバージョン v3.1.0 以降でサポートされています。

Paimon カタログ

Paimon カタログはバージョン v3.1.0 以降でサポートされています。

MaxCompute カタログ

MaxCompute カタログはバージョン v3.3.0 以降でサポートされています。

Kudu カタログ

Kudu カタログはバージョン v3.3.0 以降でサポートされています。