Hi, OK. Imagine I've created a Hive table like this:
CREATE TABLE small (...) STORED AS INPUTFORMAT 'MyInputFormat' ...; My class MyInputFormat looks like this: public void configure(JobConf jc) { String tableName = "BigTable"; String location = magicFunction(tableName); ... (Obviously I don't really care which method of the InputFormat we use.) So the question is how do I implement the magicFunction? Your suggestion about HiveMetaStoreClient is what I want. I can see that if I call HiveMetaStoreClient.getTable(database, "BigTable").getSd().getLocation() then this gives me what I want. So a couple of questions: 1) I assume that the first argument to getTable is the database, how can I find out what the "current" database is for the table that the Input format is created in? 2) How do I get hold of a HiveMetaStoreClient object? Many thanks for your help. Z From: Nitin Pawar [mailto:nitinpawar...@gmail.com] Sent: 27 June 2013 09:56 To: user@hive.apache.org Subject: Re: Find table location from Alex's blog http://mapredit.blogspot.in/2013/05/get-all-extended-hive-tables-with.html if you want to do it programatically then you will need to look at HiveMetaStoreClient If both of these are not what you are looking for then sorry I will need a little more details on your question On Thu, Jun 27, 2013 at 2:19 PM, Peter Marron <peter.mar...@trilliumsoftware.com<mailto:peter.mar...@trilliumsoftware.com>> wrote: Hi, Hopefully a simple question. Given that I have a table name (as a String) is there an API call that I can use to obtain the location of the table? Assume that my code is executing in a custom InputFormat to define the context. (I'm running "inside" a Hive query so I assume that there's a way which doesn't involve calling an external HCatalog server or anything like that.) Z -- Nitin Pawar