テーブルは MaxCompute における基本的なデータストレージユニットです。データウェアハウスにおけるすべての開発、分析、運用保守 (O&M) タスクは、テーブルデータを中心に行われます。このドキュメントでは、テーブルの作成、削除、クエリなど、一般的なテーブル操作について説明します。
実行ツール
このトピックのコマンドは、以下のツールを使用して実行できます。
一般的な操作
種類
機能
ロール
非パーティションテーブル、パーティションテーブル、外部テーブル、またはクラスター化テーブルを作成します。
プロジェクトに対する
CreateTable権限を持つユーザー。テーブルのオーナーを変更します。
プロジェクトオーナー
非パーティションテーブルまたはパーティションテーブルを削除します。
テーブルに対する
DROP権限を持つユーザー。MaxCompute のマネージドテーブル (内部テーブル)、ビュー、または外部テーブルに関する情報を表示します。
テーブルメタデータに対する
Describe権限を持つユーザー。特定のパーティションテーブルのパーティション情報を表示します。
テーブルメタデータに対する
Describe権限を持つユーザー。プロジェクト内のすべてのテーブルとビュー、または特定のルール (正規表現をサポート) に一致するものをリスト表示します。
プロジェクトに対する
List権限を持つユーザー。テーブル内のすべてのパーティションをリスト表示します。
プロジェクトに対する
List権限を持つユーザー。
テーブルの作成
現在のプロジェクトにテーブルを作成します。
制限事項
最大パーティションレベル:6 (例:
year/month/week/day/hour/minute)。テーブルあたりの最大パーティション数:60,000 (デフォルト)。
制限事項の完全なリストについては、「MaxCompute SQL の制限事項」をご参照ください。
構文
標準テーブル (パーティション化または非パーティション化)
CREATE [OR REPLACE] TABLE [IF NOT EXISTS] <table_name> ( <col_name> <data_type>, ... ) [COMMENT <table_comment>] [PARTITIONED BY (<col_name> <data_type> [COMMENT <col_comment>], ...)] [AUTO PARTITIONED BY (<auto_partition_expression> [AS <auto_partition_column_name>]) [TBLPROPERTIES('ingestion_time_partition'='true')] ];クラスター化テーブル
CREATE TABLE [IF NOT EXISTS] <table_name> ( <col_name> <data_type>, ... ) [CLUSTERED BY | RANGE CLUSTERED BY (<col_name> [, <col_name>, ...]) [SORTED BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> BUCKETS];外部テーブル (例:OSS)
詳細については、「OSS 外部テーブルの作成」をご参照ください。
CREATE EXTERNAL TABLE [IF NOT EXISTS] <mc_oss_extable_name> ( <col_name> <data_type>, ... ) STORED AS '<file_format>' [WITH SERDEPROPERTIES (options)] LOCATION '<oss_location>';トランザクションテーブルと Delta テーブル
トランザクションテーブル:UPDATE/DELETE をサポートします。
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> ( <col_name> <data_type> [NOT NULL] [DEFAULT <default_value>] [COMMENT <col_comment>], ... [COMMENT <table_comment>] [TBLPROPERTIES ("transactional"="true")];Delta テーブル:アップサート、増分クエリ、タイムトラベルをサポートします。
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> ( <col_name> <data_type> [NOT NULL] [DEFAULT <default_value>] [COMMENT <col_comment>], ... [PRIMARY KEY (<pk_col_name>[, <pk_col_name2>, ...] )]) [COMMENT <table_comment>] [TBLPROPERTIES ("transactional"="true" [, "write.bucket.num" = "N", "acid.data.retain.hours"="hours"...])] [LIFECYCLE <days>];
CTAS 句と LIKE 句
CTAS:テーブルを作成し、データをコピーします。パーティションプロパティはコピーされません。
CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] AS <select_statement>;Create Like:スキーマをコピーしますが、データはコピーしません。
CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] LIKE <existing_table_name>;
パラメーター
共通パラメーター
パラメーター | 必須 | 説明 | 備考 |
OR REPLACE | いいえ | テーブルが既に存在する場合に置き換えます。 | テーブルが存在する場合にそれを削除してから作成するのと同じです。 説明
|
EXTERNAL | いいえ | 外部テーブルを作成します。 | N/A |
IF NOT EXISTS | いいえ | テーブルがまだ存在しない場合にのみ作成します。 | テーブルが存在する場合、操作は無視されます。 |
table_name | はい | テーブルの名前。 | 長さ制限:128 バイト。大文字と小文字は区別されません。使用可能な文字:英字、数字、アンダースコア (_)。 |
PRIMARY KEY(pk) | いいえ | プライマリキー列を指定します。 | Delta テーブルでのみサポートされます。NOT NULL であり、一意である必要があります。 |
col_name | はい | 列の名前。 | 長さ制限:128 バイト。大文字と小文字は区別されません。 |
COMMENT | いいえ | テーブルまたは列のコメント。 | 最大長:1,024 バイト。 |
data_type | はい | 列のデータ型。 | 詳細については、「データ型」をご参照ください。 |
NOT NULL | いいえ | この列には NULL 値を許可しません。 | 詳細については、「テーブルプロパティの変更」をご参照ください。 |
DEFAULT | いいえ | 何も指定されない場合に使用されるデフォルト値。 |
|
LIFECYCLE | いいえ | データ保持期間 (日数)。 | 正の整数。
|
パーティションテーブルのパラメーター
標準パーティションテーブル
パラメーター | 必須 | 説明 | 備考 |
PARTITIONED BY | はい | パーティション列を指定します。 |
|
col_name | はい | パーティション列の名前。 | 長さ制限:128 バイト。大文字と小文字は区別されません。 |
data_type | はい | パーティション列のデータ型。 | MaxCompute V1.0:STRING のみ。 |
AUTO PARTITION テーブル
パラメーター | 必須 | 説明 | 備考 |
AUTO PARTITIONED BY | はい | 自動パーティショニングのロジックを指定します。 |
|
Expression | はい | パーティションキー生成のための式。 | 現在、 |
クラスター化テーブルのパラメーター
ハッシュクラスター化テーブル
パラメーター | 必須 | 説明 | 備考 |
CLUSTERED BY | はい | ハッシュクラスタリングに使用する列を指定します。 | ベストプラクティス:カーディナリティの高い列または結合キーを使用します。 |
SORTED BY | はい | バケット内のソート順を指定します。 | 最適なパフォーマンスを得るために、 |
INTO N BUCKETS | はい | バケットの数を指定します。 | 推奨:2 のべき乗 (例:512, 1024)。最大:4096。 |
例
非パーティションテーブルの作成
CREATE TABLE test1 (key STRING);パーティションテーブルの作成
CREATE TABLE IF NOT EXISTS sale_detail(
shop_name STRING,
customer_id STRING,
total_price DOUBLE)
PARTITIONED BY (sale_date STRING, region STRING);コピーによるテーブルの作成 (CTAS)
-- テーブルを作成し、データをコピーします (パーティションプロパティは失われます)
CREATE TABLE sale_detail_ctas1 LIFECYCLE 10 AS SELECT * FROM sale_detail;テーブルオーナーの変更
制限事項
プロジェクトオーナーまたは Super_Administrator ロールを持つユーザーのみがこのコマンドを実行できます。
構文
ALTER TABLE <table_name> CHANGEOWNER TO <new_owner>;パラメーター
table_name:必須。オーナーを変更するテーブルの名前。
new_owner:必須。新しいオーナーのアカウント。
新しいオーナーが Resource Access Management (RAM) ユーザーの場合:
RAM ユーザーは、テーブルを含むプロジェクトのメンバーである必要があります。
フォーマット:
RAM$<UID>:<ram_name>、ここで UID はご利用の Alibaba Cloud アカウントのアカウント ID、ram_name は RAM ユーザーの表示名です。
例
テーブル test1 のオーナーを
ALIYUN$xxx@aliyun.comに変更します。ALTER TABLE test1 CHANGEOWNER TO 'ALIYUN$xxx@aliyun.com';テーブル test1 のオーナーを
ram_testという名前の RAM ユーザーに変更します。ALTER TABLE test1 CHANGEOWNER TO 'RAM$13xxxxxxxxxxx:ram_test';
テーブルの削除
テーブルを削除し、そのデータを消去します。この操作は元に戻せません。
注意事項
警告:バックアップと復元機能が有効になっていない限り、削除されたテーブルは回復できません。
構文
DROP TABLE [IF EXISTS] <table_name>; 例
DROP TABLE IF EXISTS sale_detail; テーブルまたはビューの情報表示
MaxCompute のマネージドテーブル (内部テーブル)、ビュー、マテリアライズドビュー、外部テーブル、クラスター化テーブル、またはトランザクションテーブルに関する情報を表示します。
構文
-- 内部テーブルまたはビューの情報を表示します。
DESC <table_name|view_name> [PARTITION (<pt_spec>)];
-- マテリアライズドビュー、外部テーブル、クラスター化テーブル、またはトランザクションテーブルの情報を表示します。このコマンドを使用して、内部テーブルの拡張情報を表示することもできます。
DESC extended <table_name|mv_name>; パラメーター
パラメーター名 | 説明 |
table_name | 必須。表示したいテーブルの名前。 |
view_name | 必須。表示したいビューの名前。 |
mv_name | クエリしたいマテリアライズドビューの名前。 |
pt_spec | 任意。パーティションテーブルで表示したいパーティション。 フォーマットは |
extended | マテリアライズドビュー、外部テーブル、クラスター化テーブル、またはトランザクションテーブルの拡張情報を表示するには、このパラメーターを含めます。このパラメーターを使用して、列の非 NULL プロパティなど、内部テーブルの拡張情報を表示することもできます。 |
戻り値
パラメーター名 | 説明 |
Owner | テーブルまたはビューのオーナーのアカウント。 |
Project | テーブルまたはビューが属するプロジェクト。 |
TableComment | テーブルまたはビューのコメント。 |
CreateTime | テーブルまたはビューが作成された時刻。 |
LastDDLTime | テーブルまたはビューのデータ定義言語 (DDL) が最後に変更された時刻。 |
LastModifiedTime | テーブルまたはビューのデータが最後に変更された時刻。 |
LastAccessTime | テーブルまたはビューのデータが最後にアクセスされた時刻。この時刻は参考用です。この値と実際の最終アクセス時刻との間には、最大 24 時間の差が生じることがあります。 データが頻繁にアクセスされる場合、LastAccessTime の値が過去 24 時間以内に更新されていれば、再度更新されることはありません。これにより、頻繁な更新によるパフォーマンスのオーバーヘッドが削減されます。 |
Lifecycle | ライフサイクル (日数)。 |
InternalTable | オブジェクトが内部テーブルであるかどうかを示します。このパラメーターはテーブルオブジェクトに対してのみ返されます。 |
VirtualView | オブジェクトがビューであるかどうかを示します。このパラメーターはビューオブジェクトに対してのみ返されます。 |
Size | テーブルサイズ (バイト)。 |
NativeColumns | テーブルまたはビューの列情報。 |
PartitionColumns | パーティションキー列の情報。このパラメーターはパーティションテーブルに対してのみ返されます。 |
例
DESC table_nameによって返されるサイズには、ごみ箱内のデータが含まれます。サイズ計算からごみ箱内のデータを除外するには、まず
PURGE TABLE table_nameを実行します。次に、DESC table_nameを実行します。SHOW recyclebinを実行して、現在のプロジェクトのごみ箱内のデータの詳細を表示します。
例 1:非パーティションテーブルの表示
テストテーブルを作成します。
CREATE TABLE test_table ( key STRING );test_table テーブルの情報を表示します。
DESC test_table;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 15:04:49 | | LastDDLTime: 2025-12-15 15:04:50 | | LastModifiedTime: 2025-12-15 15:04:49 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | Comment | +------------------------------------------------------------------------------------+ | key | string | | | +------------------------------------------------------------------------------------+
例 2:パーティションテーブルの表示
テストテーブルを作成します。
CREATE TABLE test_table_partition ( shop_name STRING, customer_id STRING, total_price DOUBLE ) PARTITIONED BY ( sale_date STRING, region STRING );作成されたテーブルの情報を表示します。
DESC test_table_partition;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 15:08:27 | | LastDDLTime: 2025-12-15 15:08:27 | | LastModifiedTime: 2025-12-15 15:08:27 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | Comment | +------------------------------------------------------------------------------------+ | shop_name | string | | | | customer_id | string | | | | total_price | double | | | +------------------------------------------------------------------------------------+ | Partition Columns: | +------------------------------------------------------------------------------------+ | sale_date | string | | | region | string | | +------------------------------------------------------------------------------------+
例 3:パーティションテーブルの詳細情報の表示
テストテーブルを作成します。
CREATE TABLE IF NOT EXISTS test_table_partition ( shop_name STRING, customer_id STRING, total_price DOUBLE ) PARTITIONED BY ( sale_date STRING, region STRING );作成されたテーブルの情報を表示します。
DESC EXTENDED test_table_partition;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 15:08:27 | | LastDDLTime: 2025-12-15 15:08:27 | | LastModifiedTime: 2025-12-15 15:08:27 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | shop_name | string | | | true | NULL | | | customer_id | string | | | true | NULL | | | total_price | double | | | true | NULL | | +------------------------------------------------------------------------------------+ | Partition Columns: | +------------------------------------------------------------------------------------+ | sale_date | string | | | region | string | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: 8c4d6ed34c964326b45d0435a3babe45 | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | encryption_enable: false | +------------------------------------------------------------------------------------+
例 4:ライフサイクルを持つテーブルの表示
テストテーブルを作成します。
CREATE TABLE sale_detail_ctas( shop_name STRING, customer_id STRING, total_price DOUBLE, sale_date STRING, region STRING ) LIFECYCLE 10;作成されたテーブルの詳細情報を表示します。
DESC EXTENDED sale_detail_ctas;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 15:13:22 | | LastDDLTime: 2025-12-15 15:13:22 | | LastModifiedTime: 2025-12-15 15:13:22 | | Lifecycle: 10 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | shop_name | string | | | true | NULL | | | customer_id | string | | | true | NULL | | | total_price | double | | | true | NULL | | | sale_date | string | | | true | NULL | | | region | string | | | true | NULL | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: 8271334ac9724d09a4973b5b3d536f4c | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | ColdStorageStatus: N/A | | encryption_enable: false | | StorageTier: Standard | | StorageTierLastModifiedTime: 2025-12-15 15:13:22 | +------------------------------------------------------------------------------------+
例 5:さまざまなデータ型を持つテーブルの表示
テストテーブルを作成します。
CREATE TABLE test_newtype( c1 TINYINT, c2 SMALLINT, c3 INT, c4 BIGINT, c5 FLOAT, c6 DOUBLE, c7 DECIMAL, c8 BINARY, c9 TIMESTAMP, c10 ARRAY<MAP<BIGINT, BIGINT>>, c11 MAP<STRING, ARRAY<BIGINT>>, c12 STRUCT<s1:STRING, s2:BIGINT>, c13 VARCHAR(20) );作成されたテーブルの詳細情報を表示します。
DESC test_newtype;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:09:18 | | LastDDLTime: 2025-12-15 16:09:18 | | LastModifiedTime: 2025-12-15 16:09:18 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | Comment | +------------------------------------------------------------------------------------+ | c1 | tinyint | | | | c2 | smallint | | | | c3 | int | | | | c4 | bigint | | | | c5 | float | | | | c6 | double | | | | c7 | decimal(38,18) | | | | c8 | binary | | | | c9 | timestamp | | | | c10 | array<map<bigint,bigint>> | | | | c11 | map<string,array<bigint>> | | | | c12 | struct<s1:string,s2:bigint> | | | | c13 | varchar(20) | | | +------------------------------------------------------------------------------------+
例 6:非パーティションのハッシュクラスター化テーブルの表示
テストテーブルを作成します。
CREATE TABLE hash_clustered_nonpar ( a STRING, b STRING, c BIGINT ) CLUSTERED BY (c) SORTED BY (c ASC) INTO 1024 BUCKETS;作成されたテーブルの詳細情報を表示します。
DESC EXTENDED hash_clustered_nonpar;返される結果。
クラスタープロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:18:07 | | LastDDLTime: 2025-12-15 16:18:07 | | LastModifiedTime: 2025-12-15 16:18:07 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | a | string | | | true | NULL | | | b | string | | | true | NULL | | | c | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: 904e6a0d76624346903d59a2b536d0a3 | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | ColdStorageStatus: N/A | | encryption_enable: false | | ClusterType: hash | | BucketNum: 1024 | | ClusterColumns: [c] | | SortColumns: [c ASC] | | StorageTier: Standard | | StorageTierLastModifiedTime: 2025-12-15 16:18:07 | +------------------------------------------------------------------------------------+
例 7:パーティション化されたハッシュクラスター化テーブルの表示
テストテーブルを作成します。
CREATE TABLE hash_clustered_par ( a STRING, b STRING, c BIGINT ) PARTITIONED BY ( dt STRING ) CLUSTERED BY (c) SORTED BY (c ASC) INTO 1024 BUCKETS LIFECYCLE 2;作成されたテーブルの詳細情報を表示します。
DESC EXTENDED hash_clustered_par;返される結果。
クラスタープロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:26:24 | | LastDDLTime: 2025-12-15 16:26:24 | | LastModifiedTime: 2025-12-15 16:26:24 | | Lifecycle: 2 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | a | string | | | true | NULL | | | b | string | | | true | NULL | | | c | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Partition Columns: | +------------------------------------------------------------------------------------+ | dt | string | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: 5680f0711add43928389db3655d9183e | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | encryption_enable: false | | ClusterType: hash | | BucketNum: 1024 | | ClusterColumns: [c] | | SortColumns: [c ASC] | +------------------------------------------------------------------------------------+
例 8:非パーティションのレンジクラスター化テーブルの表示
テストテーブルを作成します。
CREATE TABLE range_clustered_nonpar ( a STRING, b STRING, c BIGINT ) RANGE CLUSTERED BY (c);作成されたテーブルの詳細情報を表示します。
DESC EXTENDED range_clustered_nonpar;返される結果。
クラスタープロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:30:45 | | LastDDLTime: 2025-12-15 16:30:45 | | LastModifiedTime: 2025-12-15 16:30:45 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | a | string | | | true | NULL | | | b | string | | | true | NULL | | | c | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: bf01d946c4b24c0e9c54ccfe8750b7c2 | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | ColdStorageStatus: N/A | | encryption_enable: false | | ClusterType: range | | BucketNum: 0 | | ClusterColumns: [c] | | StorageTier: Standard | | StorageTierLastModifiedTime: 2025-12-15 16:30:45 | +------------------------------------------------------------------------------------+
例 9:パーティション化されたレンジクラスター化テーブルの表示
テストテーブルを作成します。
CREATE TABLE range_clustered_par ( a STRING, b STRING, c BIGINT ) PARTITIONED BY ( dt STRING ) RANGE CLUSTERED BY (c);作成されたテーブルの詳細情報を表示します。
DESC EXTENDED range_clustered_par;返される結果。
クラスタープロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:33:09 | | LastDDLTime: 2025-12-15 16:33:09 | | LastModifiedTime: 2025-12-15 16:33:09 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | a | string | | | true | NULL | | | b | string | | | true | NULL | | | c | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Partition Columns: | +------------------------------------------------------------------------------------+ | dt | string | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: bdc4f6897691479ea9c315664f26fe39 | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | encryption_enable: false | | ClusterType: range | | BucketNum: 0 | | ClusterColumns: [c] | +------------------------------------------------------------------------------------+
例 10:非パーティションテーブルがトランザクションテーブルであるかの確認
テーブルがトランザクションテーブルであるかを確認するには、MaxCompute クライアント バージョン 0.35.4 以降を使用してください。
他のツールは、必要なバージョンにアップグレードされていない場合、この機能をサポートしていない可能性があり、クエリ結果からトランザクション情報が省略されることがあります。
テストテーブルを作成します。
CREATE TABLE tran_nonpar ( id BIGINT ) TBLPROPERTIES ('transactional'='true');作成されたテーブルの詳細情報を表示します。
DESC EXTENDED tran_nonpar;返される結果。
Transactional プロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:37:27 | | LastDDLTime: 2025-12-15 16:37:27 | | LastModifiedTime: 2025-12-15 16:37:27 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | id | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: 43e9710c2b4c404780a7be9998afb23e | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | Transactional: true | | IsolationMin: NONSTRICT_SNAPSHOT_ISOLATION | | odps.timemachine.retention.days: 1 | | ColdStorageStatus: N/A | | encryption_enable: false | | StorageTier: Standard | | StorageTierLastModifiedTime: 2025-12-15 16:37:27 | +------------------------------------------------------------------------------------+
例 11:パーティションテーブルがトランザクションテーブルであるかの確認
テーブルがトランザクションテーブルであるかを確認するには、MaxCompute クライアント バージョン 0.35.4 以降を使用してください。
他のツールは、必要なバージョンにアップグレードされていない場合、この機能をサポートしていない可能性があり、クエリ結果からトランザクション情報が省略されることがあります。
テストテーブルを作成します。
CREATE TABLE tran_par ( id BIGINT ) PARTITIONED BY ( ds STRING ) TBLPROPERTIES ('transactional'='true');作成されたテーブルの詳細情報を表示します。
DESC EXTENDED tran_par;返される結果。
Transactional プロパティは Extended Info セクションに表示されます。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:42:26 | | LastDDLTime: 2025-12-15 16:42:26 | | LastModifiedTime: 2025-12-15 16:42:26 | +------------------------------------------------------------------------------------+ | InternalTable: YES | Size: 0 | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | id | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Partition Columns: | +------------------------------------------------------------------------------------+ | ds | string | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | TableID: d4dd59b15f7940bcad4cb5efdb42f242 | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: AliOrc | | CompressionStrategy: normal | | Transactional: true | | IsolationMin: NONSTRICT_SNAPSHOT_ISOLATION | | odps.timemachine.retention.days: 1 | | encryption_enable: false | +------------------------------------------------------------------------------------+
例 12:マテリアライズドビュー mv の表示
テストテーブルを作成します。
-- テスト用のベーステーブルを作成します。 CREATE TABLE page_view_logs ( page_id STRING, user_id STRING, view_timestamp BIGINT ); -- 各ページのページビュー (PV) を計算するためのマテリアライズドビューを作成します。 CREATE MATERIALIZED VIEW mv AS SELECT page_id, COUNT(1) AS pv_count FROM page_view_logs GROUP BY page_id;マテリアライズドビューの詳細情報を表示します。
DESC EXTENDED mv;返される結果。
+------------------------------------------------------------------------------------+ | Owner: ALIYUN$***_com | | Project: testproject | | TableComment: | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:47:51 | | LastDDLTime: 2025-12-15 16:47:51 | | LastModifiedTime: 2025-12-15 16:47:51 | +------------------------------------------------------------------------------------+ | MaterializedView: YES | | ViewText: SELECT page_id, COUNT(1) AS pv_count FROM page_view_logs GROUP BY page_id | | Rewrite Enabled: true | | AutoRefresh Enabled: false | +------------------------------------------------------------------------------------+ | Native Columns: | +------------------------------------------------------------------------------------+ | Field | Type | Label | ExtendedLabel | Nullable | DefaultValue | Comment | +------------------------------------------------------------------------------------+ | page_id | string | | | true | NULL | | | pv_count | bigint | | | true | NULL | | +------------------------------------------------------------------------------------+ | Extended Info: | +------------------------------------------------------------------------------------+ | IsOutdated: false | | TableID: a8742f3751904ec3ade23a7ecc2a2b0b | | IsArchived: false | | PhysicalSize: 0 | | FileNum: 0 | | StoredAs: CFile | | CompressionStrategy: normal | | odps.timemachine.retention.days: 1 | | ColdStorageStatus: N/A | | encryption_enable: false | | StorageTier: Standard | | StorageTierLastModifiedTime: 2025-12-15 16:47:51 | +------------------------------------------------------------------------------------+
例 13:パーティション情報の表示
テストテーブルを作成します。
-- テストテーブルを作成します。 CREATE TABLE IF NOT EXISTS test_table_partition ( shop_name STRING, customer_id STRING, total_price DOUBLE ) PARTITIONED BY ( sale_date STRING, region STRING ); -- パーティションを作成します。 ALTER TABLE test_table_partition ADD IF NOT EXISTS PARTITION (sale_date='201310', region='beijing'); -- INSERT INTO を使用して、指定されたパーティションにデータを追加します。 INSERT INTO TABLE test_table_partition PARTITION (sale_date='201310', region='beijing') VALUES ('Apple Store', 'user001', 8888.0), ('Nike Store', 'user002', 1200.5), ('Starbucks', 'user001', 45.0);パーティションテーブルのパーティション情報をクエリします。
DESC test_table_partition PARTITION (sale_date='201310', region='beijing');返される結果。
+------------------------------------------------------------------------------------+ | PartitionSize: 1163 | +------------------------------------------------------------------------------------+ | CreateTime: 2025-12-15 16:54:16 | | LastDDLTime: 2025-12-15 16:54:16 | | LastModifiedTime: 2025-12-15 16:54:23 | +------------------------------------------------------------------------------------+
パーティション情報の表示
パーティションテーブルのパーティション情報を表示します。
構文
desc <table_name> partition (<pt_spec>);パラメーター
table_name:必須。パーティション情報を表示したいパーティションテーブルの名前。
pt_spec:必須。表示したいパーティションに関する情報。このパラメーターの値は
partition_col1=col1_value1, partition_col2=col2_value1...のフォーマットです。テーブルに複数レベルのパーティションがある場合は、すべてのパーティションキー列の値を指定する必要があります。
例
-- パーティションテーブル sale_detail の情報をクエリします。 desc sale_detail partition (sale_date='201310',region='beijing');次の結果が返されます。
+------------------------------------------------------------------------------------+ | PartitionSize: 2109112 | +------------------------------------------------------------------------------------+ | CreateTime: 2015-10-10 08:48:48 | | LastDDLTime: 2015-10-10 08:48:48 | | LastModifiedTime: 2015-10-11 01:33:35 | +------------------------------------------------------------------------------------+ OK
プロジェクト内のテーブルとビューの表示
プロジェクト内のすべてのテーブルとビュー、または特定のルールに一致するテーブルとビューを表示します。
構文
-- プロジェクト内のすべてのテーブルとビューを表示します。 show tables; -- プロジェクト内で名前に <chart> キーワードを含むテーブルまたはビューを表示します。 show tables like '<chart>';例
-- プロジェクト内で名前に sale* キーワードを含むテーブルを表示します。アスタリスク (*) は任意の文字を示します。 show tables like 'sale*';次の結果が返されます。
ALIYUN$account_name:sale_detail ...... -- ALIYUN はシステムプロンプトであり、テーブルが Alibaba Cloud アカウントを使用して作成されたことを示します。テーブルが RAM ユーザーによって作成された場合、システムプロンプトは RAM になります。
パーティションの表示
テーブルのすべてのパーティションを表示します。テーブルが存在しない場合、またはテーブルが非パーティションテーブルである場合は、エラーが返されます。
構文
show partitions <table_name>;パラメーター
table_name:必須。パーティション情報を表示したいパーティションテーブルの名前。
例
-- sale_detail テーブルのすべてのパーティションを表示します。 show partitions sale_detail;次の結果が返されます。
sale_date=201310/region=beijing sale_date=201312/region=shenzhen sale_date=201312/region=xian sale_date=2014/region=shenzhen OK
関連ドキュメント
列の追加、列の削除、列のデータ型の変更など、テーブルスキーマを変更するには、「パーティション操作」をご参照ください。
テーブルデータを別のテーブルにコピーするには、「CLONE TABLE」をご参照ください。
トランザクションテーブルのデータを更新または削除するには、「データの更新または削除 (UPDATE | DELETE)」をご参照ください。