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 ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ

パーティションテーブルを照会

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-23 16:52:15
ユーザーがデータをパーティション形式で保存すると、DLC計算タスクのデータスキャン量を削減でき、大幅に演算性能を向上させることができます。データをパーティション分割する最も一般的な方法は、時間ごとに異なるディレクトリに保存することです。例えば、同じ日に生成されたデータを1つのディレクトリにまとめ、「年-月-日」形式で複数階層のデータディレクトリを構成できます。DLC内の同じテーブルとそのパーティションは、同じデータ形式を使用する必要があります。

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

パーティションテーブルを作成するには、テーブル作成文でパーティションフィールドを指定する必要があります。

パーティションデータを追加

データテーブルを作成する際にパーティションを指定するのは、パーティションフィールドを設定しただけで、すぐにクエリ文を実行してデータを取得することはできません。ユーザーはパーティションデータをデータテーブルに追加する必要があります。新しいパーティションデータがデータディレクトリに追加された場合、データテーブルにパーティション情報を追加する必要があります。

手動でパーティションを追加

ALTER TABLE ADD PARTITION ステートメントを使用すると、指定したパーティションディレクトリがデータテーブルに追加されます。パーティションディレクトリがHiveのパーティションルール(パーティション列名 = パーティション列値)と互換性がある場合、データパスを指定する必要はありません。それ以外の場合は、データパスを明示的に指定する必要があります。
例1:単一のパーティションディレクトリで、パーティションディレクトリが一致します。
ALTER TABLE tabel_demo ADD
PARTITION (dt = '2021-01-01');
例2:多層パーティション・ディレクトリのネスト。
ALTER TABLE tabel_demo ADD
PARTITION (year = '2021', month='01', day='01');
例3:指定パーティション・パスの表示。
ALTER TABLE tabel_demo ADD
PARTITION (year = '2021', month='01', day='01') LOCATION 'cosn://tablea_demo' ;

自動的にパーティションを追加

MSCK REPAIR TABLE ステートメントを使用して、テーブル作成時に指定したデータディレクトリをスキャンします。新しいパーティションディレクトリが存在する場合、システムは自動的にこれらのパーティションをデータテーブルのメタデータ情報に追加します。例は以下の通りです:
MSCK REPAIR TABLE table_demo

システム制約

MSCK REPAIR TABLEはデータテーブルのメタデータにパーティションを追加するだけで、削除はしません。追加済みのパーティションを削除したい場合は、ALTER TABLE テーブル名 DROP PARTITION文を実行してください。
データ量が非常に大きい場合、MSCK REPAIR TABLEは推奨されません。システムは全データをスキャンし、長時間を要するため、タスクがタイムアウトする可能性があり、データテーブルのパーティション情報が不完全な状態になることがあります。
パーティション・ディレクトリはHiveのパーティションルールと互換性がある必要があります:パーティション列名=パーティション列値。一致しない場合は、ALTER TABLE ADD PARTITIONを使用してパーティションをロードしてください。
別々のテーブルのデータは、別々のフォルダ階層に保存してください。例えば、COSサービスにテーブルAのデータcosn://tablea_aとテーブルBのデータs3://table_a/table_bがある場合、両方のテーブルが文字列でパーティションされていると、MSCK REPAIR TABLEはテーブルBのパーティションをテーブルAに追加してしまいます。このような状況を避けるため、cosn://tablea_acosn://tablea_bのように別々のフォルダ構造を使用してください。
このステートメントはCOSサービスのデータ読み書きコストを発生させる可能性があります。詳細はCOSサービスの料金体系をご参照ください。

ヘルプとサポート

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

フィードバック