2016-10-24 75 views

回答

1

看着this code example 您可以發送describe formatted <tableName>聲明服務器,你會發出任何其他SELECT聲明。

+0

任何干淨的方式來獲取分區列信息? – VoodooChild

+0

您可以發送'描述格式'聲明。 –

1

我發現更好的方法是在這種情況下使用hcatalog

Maven的依賴性:

<dependency> 
     <groupId>org.apache.hive.hcatalog</groupId> 
     <artifactId>hive-webhcat-java-client</artifactId> 
     <version>1.2.1</version> 
    </dependency> 

示例代碼:的HCatTable

HiveConf hcatConf = new HiveConf(); 

hcatConf.setVar(HiveConf.ConfVars.METASTOREURIS, connectionUri); 
hcatConf.set("hive.metastore.local", "false"); 

HCatClient client = null; 
HCatTable hTable = null; 

try { 
    client = HCatClient.create(hcatConf); 
    hTable = client.getTable(databaseName, tableName); 
    System.out.println(hTable.getLocation()); 
    System.out.println(hTable.getInputFileFormat()); 
    System.out.println(hTable.getOutputFileFormat()); 

} catch (HCatException hCatEx) { 
    LOG.error("Not able to connect to hive. Caused By;", hCatEx); 
} 

檢查等方法。

+0

非常感謝,但我無法使用HCat作爲我的用例。 – VoodooChild