日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

DDL操作常見問題

更新時(shí)間:

本文為您介紹對(duì)表、分區(qū)、列執(zhí)行DDL操作過程中的常見問題。

問題類別

常見問題

表操作

分區(qū)操作

列操作

生命周期操作

設(shè)置表的生命周期為3天,每個(gè)表的分區(qū)存儲(chǔ)量很大,如何清理分區(qū)表舊數(shù)據(jù)?

MaxCompute支持虛擬表嗎?例如MySQL中的DUAL表?

不支持虛擬表,您可以手動(dòng)創(chuàng)建DUAL表。

MaxCompute的表有無索引?

沒有索引,Hash Clustering可以提供類似數(shù)據(jù)庫(kù)中Cluster index的效果,詳情請(qǐng)參見表操作

如何修改表的Hash Clustering屬性?

  • 增加表的Hash Clustering屬性:alter table table_name [clustered by (col_name [, col_name, ...]) [sorted by (col_name [asc | desc] [, col_name [asc | desc] ...])] into number_of_buckets buckets];

  • 去除表的Hash Clustering屬性:alter table table_name not clustered;

如何將非分區(qū)表修改為分區(qū)表?

不支持更改非分區(qū)表為分區(qū)表,也不支持增加分區(qū)列。您可以重新創(chuàng)建一張分區(qū)表,詳情請(qǐng)參見表操作

因誤操作刪除的表可以恢復(fù)嗎?

MaxCompute提供備份與恢復(fù)功能。但免費(fèi)周期只有24小時(shí),您可以自定義設(shè)置備份數(shù)據(jù)保留周期。如果誤刪除24小時(shí)內(nèi),可以通過備份與恢復(fù)命令恢復(fù)表數(shù)據(jù)。更多備份恢復(fù)信息,請(qǐng)參見備份與恢復(fù)

如何查詢某個(gè)用戶創(chuàng)建的表?

只查詢某個(gè)用戶創(chuàng)建的表可以使用元數(shù)據(jù)視圖TABLES,通過owner_name字段過濾。更多TABLES信息,請(qǐng)參見TABLES

如何查看指定的表是否存在?

可以使用函數(shù)TABLE_EXISTS查看指定的表是否存在,更多函數(shù)信息,請(qǐng)參見TABLE_EXISTS

如何獲取項(xiàng)目下的所有表名稱?

您可以通過MaxCompute客戶端執(zhí)行show tables;命令或使用MaxCompute的元數(shù)據(jù)服務(wù)。更多信息請(qǐng)參見表操作Information Schema

如何快速查看項(xiàng)目下哪些表是分區(qū)表?

您可以通過MaxCompute客戶端執(zhí)行如下命令查看項(xiàng)目下的分區(qū)表信息。

select table_name from information_schema.columns where is_partition_key = true group by table_name;

如何查看MaxCompute表的最近訪問時(shí)間?

您可以在DataWorks數(shù)據(jù)地圖中查詢表,進(jìn)入表詳情頁(yè)面獲取表的最近訪問時(shí)間。技術(shù)信息

如何查看表的數(shù)據(jù)量?

查看表的數(shù)據(jù)量包含查看數(shù)據(jù)條數(shù)和占用的物理空間大小:

  • 您可以執(zhí)行desc命令查看全量表的物理空間。執(zhí)行SQL語句select count() as cnt from table_name;查看表的數(shù)據(jù)條數(shù)。查看物理空間

  • 您可以執(zhí)行desc命令和WHERE條件組合方式,查看分區(qū)表單個(gè)分區(qū)占用的物理空間大小。執(zhí)行SQL語句select count() as cnt from table_name where ...;查看分區(qū)數(shù)據(jù)條數(shù)。查看分區(qū)表

如何查看表的行數(shù)?

您可以通過MaxCompute客戶端執(zhí)行select count(*) from table_name;命令查看分區(qū)表或非分區(qū)表的行數(shù)。

創(chuàng)建的表為什么在DataWorks上看不到?

如果表不是通過DataWorks可視化創(chuàng)建方式創(chuàng)建的,而是通過SQL語句創(chuàng)建,DataWorks界面不會(huì)立即顯示創(chuàng)建的表,會(huì)存在2~3個(gè)小時(shí)的延時(shí)。

分區(qū)和分區(qū)列的區(qū)別是什么?

MaxCompute中的表可以分區(qū),分區(qū)表有分區(qū)列。您可以通過分區(qū)列創(chuàng)建分區(qū)。

例如分區(qū)ds=20150101,此處ds是一個(gè)分區(qū)列,而ds=20150101是一個(gè)分區(qū)。

一張表的分區(qū)的數(shù)量是否越多越好?

在MaxCompute中,一張表最多允許有60000個(gè)分區(qū),同時(shí)每個(gè)分區(qū)的容量沒有上限。但是分區(qū)數(shù)量過多,不便于統(tǒng)計(jì)和分析。

MaxCompute限制單個(gè)作業(yè)中最多不能超過一定數(shù)量的Instance,而作業(yè)中的Instance數(shù)量和輸入的數(shù)據(jù)量以及分區(qū)數(shù)量是密切相關(guān)的,所以您需要根據(jù)業(yè)務(wù)情況,選擇合適的分區(qū)策略。

如果源表沒有分區(qū)字段,是否可以增加或更改分區(qū)?

MaxCompute不支持在源表上直接增加或修改分區(qū)字段,分區(qū)字段一旦創(chuàng)建就無法修改。您可以重新創(chuàng)建一張分區(qū)表,使用動(dòng)態(tài)分區(qū)SQL將源表數(shù)據(jù)導(dǎo)入至新分區(qū)表,詳情請(qǐng)參見插入或覆寫動(dòng)態(tài)分區(qū)數(shù)據(jù)(DYNAMIC PARTITION)

如何查看指定的分區(qū)是否存在?

可以使用函數(shù)PARTITION_EXISTS查看指定的分區(qū)是否存在,更多函數(shù)信息,請(qǐng)參見PARTITION_EXISTS

如何查看分區(qū)數(shù)量?

您可以通過Information Schema的PARTITIONS視圖,獲取到分區(qū)名,進(jìn)而獲取到分區(qū)數(shù)量。

是否可以添加或刪除列?

在MaxCompute中,可以添加列,也可以刪除列,目前添加復(fù)雜數(shù)據(jù)類型列和刪除列正在邀測(cè)中,試用操作詳情請(qǐng)參見新功能測(cè)試申請(qǐng)

如何添加列?

添加列的命令示例如下。如果表中已經(jīng)存在一部分?jǐn)?shù)據(jù),則新添加列的值為NULL。

alter table table_name add columns (col_name1 type1, col_name2 type2…);

更多添加列語法信息,請(qǐng)參見添加列

如何設(shè)置自增長(zhǎng)列?

MaxCompute不支持自增長(zhǎng)列功能,如果您有此需求,且數(shù)據(jù)量比較小,建議使用ROW_NUMBER實(shí)現(xiàn)。

MaxCompute單表可以存放的最大列數(shù)是多少?

MaxCompute單表可以存放的最大列數(shù)為1200列。如果您的列數(shù)超過限制,可以參考如下方式處理:

  • 對(duì)數(shù)據(jù)進(jìn)行降維,縮減到1200列以內(nèi)。

  • 修改數(shù)據(jù)的保存方式,例如設(shè)備證書、稀疏或稠密矩陣。

待創(chuàng)建表的列名與關(guān)鍵字相同,如何解決?

在對(duì)表、列或分區(qū)命名時(shí)如果使用關(guān)鍵字,需要給關(guān)鍵字加``符號(hào)進(jìn)行轉(zhuǎn)義,否則會(huì)報(bào)錯(cuò)。

如何修改列的數(shù)據(jù)類型?

不支持修改列的數(shù)據(jù)類型,只能添加列。生產(chǎn)環(huán)境中的表不允許刪除表字段、修改表字段和分區(qū)字段。如果必須修改,請(qǐng)刪除表之后重新建表。您也可以創(chuàng)建外部表,刪除并重建表后,可以重新加載數(shù)據(jù)。數(shù)據(jù)類型詳情請(qǐng)參見數(shù)據(jù)類型版本說明

設(shè)置表的生命周期為3天,每個(gè)表的分區(qū)存儲(chǔ)量很大,如何清理分區(qū)表舊數(shù)據(jù)?

設(shè)置了生命周期的表超過設(shè)定時(shí)間沒有修改,MaxCompute會(huì)自動(dòng)回收。

您可以執(zhí)行desc table_name partition(pt_spec);命令查看舊的分區(qū)修改時(shí)間是否在生命周期內(nèi)修改過。通過desc tablename;命令查看生命周期時(shí)間,MaxComptue每天17:00點(diǎn)進(jìn)行回收,DataWorks上的數(shù)據(jù)顯示有延遲,一般會(huì)延遲一天。