如果我寫這樣如何知道蜂房中分區的位置?
ALTER TABLE tbl_name ADD PARTITION (dt=20131023) LOCATION 'hdfs://path/to/tbl_name/dt=20131023;
蜂巢SQL我如何可以查詢這個位置大約分區以後呢?因爲我發現存在位置的一些數據,但我不能對它們進行查詢,蜂巢SQL像
SELECT data FROM tbl_name where dt=20131023;
如果我寫這樣如何知道蜂房中分區的位置?
ALTER TABLE tbl_name ADD PARTITION (dt=20131023) LOCATION 'hdfs://path/to/tbl_name/dt=20131023;
蜂巢SQL我如何可以查詢這個位置大約分區以後呢?因爲我發現存在位置的一些數據,但我不能對它們進行查詢,蜂巢SQL像
SELECT data FROM tbl_name where dt=20131023;
show table extended like 'tbl_name' partition (dt='20131023');
Show Tables/Partitions Extended
SHOW TABLE EXTENDED
將列出匹配給定的正則表達式所有表的信息。如果存在分區規範,則用戶不能使用表名的正則表達式。此命令的輸出包括基本表信息和文件系統信息,如totalNumberFiles
,totalFileSize
,maxFileSize
,minFileSize
,lastAccessTime
和lastUpdateTime
。如果存在分區,它將輸出給定分區的文件系統信息而不是表的文件系統信息。
對分區進行描述而不是完整的表格。
這將顯示鏈接的位置,如果它是一個外部表。
describe formatted tbl_name partition (dt='20131023')
如果你有多個嵌套分區,語法爲:
describe formatted table_name partition (day=123,hour=2);
怎能所有分區的不只是一個的一個列表位置? – morpheus
@morpheus我用'show partitions table;'使用for循環來顯示所有分區的位置。我沒有找到一個單行命令來實現這一點。 – MoreFreeze