2013-10-24 90 views
10

如果我寫這樣如何知道蜂房中分區的位置?

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; 
+0

怎能所有分區的不只是一個的一個列表位置? – morpheus

+0

@morpheus我用'show partitions table;'使用for循環來顯示所有分區的位置。我沒有找到一個單行命令來實現這一點。 – MoreFreeze

回答

3
show table extended like 'tbl_name' partition (dt='20131023'); 

Show Tables/Partitions Extended

SHOW TABLE EXTENDED將列出匹配給定的正則表達式所有表的信息。如果存在分區規範,則用戶不能使用表名的正則表達式。此命令的輸出包括基本表信息和文件系統信息,如totalNumberFiles,totalFileSize,maxFileSize,minFileSize,lastAccessTimelastUpdateTime。如果存在分區,它將輸出給定分區的文件系統信息而不是表的文件​​系統信息。

24

對分區進行描述而不是完整的表格。
這將顯示鏈接的位置,如果它是一個外部表。

describe formatted tbl_name partition (dt='20131023') 
8

如果你有多個嵌套分區,語法爲:

describe formatted table_name partition (day=123,hour=2);