tencent cloud

Data Lake Compute

製品概要
プロダクト概要
製品の強み
適用シーン
購入ガイド
課金概要
返金説明
支払い期限切れ説明
設定調整費用の説明
クイックスタート
新規ユーザー開通フルプロセス
DLC データインポートガイド
DLCデータ分析の1分間入門
DLC権限管理の1分間入門
パーティションテーブル1分間入門
データ最適化をオンにする
クロスソース分析 EMR Hive データ
標準エンジン構成ガイド
操作ガイド
コンソール操作紹介
開発ガイド
実行環境
SparkJar ジョブ開発ガイド
PySparkジョブ開発ガイド
「クエリパフォーマンス最適化ガイド」
UDF 関数開発ガイド
システム制約
クライアントアクセス
JDBCアクセス
TDLC コマンドラインツールにアクセス
サードパーティソフトウェア連携
Python にアクセス
実践チュートリアル
DLC を Power BI に接続
テーブル作成の実践
Apache Airflowを使用してDLCエンジンのタスクをスケジュールして送信する
StarRocks は DLC 内部ストレージを直接クエリします
Spark の計算コスト最適化プラクティス
DATA + AI
ロールSSOを使用してDLCにアクセスする
SQL構文
SuperSQL構文
標準 Spark 構文概要
標準 Presto 構文の概要
予約語
API Documentation
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
一般クラスリファレンス
エラーコード
クォータと制限
サードパーティソフトウェアでDLCに接続する操作ガイド
よくあるご質問
権限に関するよくあるご質問
エンジン類のよくある質問
機能に関するよくあるご質問
Sparkジョブクラスに関するよくある質問
DLC ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ
ドキュメントData Lake Computeクイックスタートパーティションテーブル1分間入門

パーティションテーブル1分間入門

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-22 17:55:41

DLC パーティションテーブル

ユーザーはデータをパーティション・ディレクトリ方式で保存でき、異なる特徴のデータを別々のディレクトリに格納できます。データ探索時にwhere条件でパーティションをフィルタリングすると、DLCのデータスキャン量が大幅に減少し、クエリ効率が向上します。
注意:
同じテーブルのパーティションは同じデータ型と形式を使用する必要があります。
DLC 内部テーブルは隠しパーティション方式を採用しており、パーティション・ディレクトリ構造を気にする必要がありません。

パーティションテーブルを作成

テーブル作成文でPARTITIONED BYを使用してパーティションフィールドを指定します。 例:パーティションテーブルtest_partを作成
CREATE EXTERNAL TABLE IF NOT EXISTS `DataLakeCatalog`.`test_a_db`.`test_part` (
`_c0` int,
`_c1` int,
`_c2` string,
`dt` string
) USING PARQUET PARTITIONED BY (dt) LOCATION 'cosn://testbucket/data/';


パーティションを追加

alter table add partitionを使用してパーティションを追加

ユーザーのデータパーティションディレクトリがHiveのパーティションルール(パーティション列名=パーティション列値)に従っている場合、この方法でパーティションを追加できます。ディレクトリの構成方法は以下の図の通りです。


ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202206')
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202207')
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202208')
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202209')
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202210')

alter tableを使用してlocationを指定し、パーティションを追加します

ユーザーのデータが通常のcosディレクトリ(「パーティション列名=パーティション列値」形式ではない)で構成されている場合、add partition時にディレクトリを指定できます。 SQLリファレンス:
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202211') LOCATION='cosn://testbucket/data2/202211'
ALTER TABLE `DataLakeCatalog`.`test_a_db`.`test_part` add PARTITION (dt = '202212') LOCATION='cosn://testbucket/data2/202212'

MSCK REPAIRを使用してパーティションを自動的に追加する

MSCK REPAIR TABLE ステートメントを使用して、テーブル作成時に指定されたデータディレクトリをスキャンします。新しいパーティションディレクトリが存在する場合、システムは自動的にこれらのパーティションをデータテーブルのメタデータ情報に追加します。 SQLリファレンス:
MSCK REPAIR TABLE `DataLakeCatalog`.`test_a_db`.`test_part`
パーティションを追加するには、alter table 方式を優先的に選択することをお勧めします。msck repair を使用してパーティションを自動的に追加する場合、以下の制約条件があります:
MSCK REPAIR TABLE はデータテーブルのメタデータにパーティションを追加するだけで、パーティションを削除することはありません。
データ量が大きい場合、MSCK REPAIR TABLE の使用は推奨されません。この方法はすべてのデータをスキャンするため、タイムアウトが発生する可能性があります。
パーティションのディレクトリがHiveのパーティションルール(パーティション列名=パーティション列値)に従っていない場合、MSCK REPAIR TABLE方式を採用することはできません。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック