Thanks Alan! I think I should've phrased my question better. Essentially I'm trying to return an extra field when a user describes a table. Say, you run `desc formatted foo`, We get some information back like, `table name`, `database` etc..
I'm trying to return extra information about the table `foo`. So, I made a dummy SQL table where I, say, have the job name (fooBarJob) which populated table foo. Now if you run, `desc formatted foo`, you should get the jobName along with other fields. So basically, how exactly does a query like `desc` pulls its metadata from the backing RDBMS? Also, thanks a lot for the easy to follow execution rundown you gave for creating a table. Before contributing further, I feel a simple exercise like this one can help me understand things clearly. Thanks, Sanchay On Mon, Jun 11, 2018 at 12:29 PM, Alan Gates <alanfga...@gmail.com> wrote: > First, my apologies, I thought your first question was sent to dev@hive, > which is the right list. Hence I've removed dev@community from my > reply. If you haven't already you should subscribe to dev@hive. > > I'm not 100% sure I understand your question, but here's a place to > start. If you do "create table foo..." in SQL that will eventually end up > in HiveMetaStore.create_table. This handles checking the table and > creating any necessary directories, and then calls RawStore.createTable, > which will end up in ObjectStore.createTable. This is where the values you > sent in createTable get written down to the RDBMS backing the metadata. > I'm not sure that's the answer to the question you were asking or not. > > Alan. > > On Mon, Jun 11, 2018 at 12:17 PM Sanchay Javeria <javer...@illinois.edu> > wrote: > >> Hello, >> >> Thank you. I've also CC'ed @hive.apache.org >> >> I went through the dev docs on Hive and got an understanding of the >> architecture and the high level overview of how a HiveQL query execution >> proceeds. To get a better understanding, I decided to add a new field from >> a SQL table when a user describes a table by tweaking the hive meta store, >> in addition to fields like "Database:", OwnerType:" etc. >> >> I added a new hook to obtain a connection to a SQL server and placed a >> watcher under `startMetaStoreThreads()` in `HiveMetaStore.java`. >> I then found `getTableMetaDataInformation()` under >> `MetaDataFormatUtils.java` which populates the various fields like >> "Database", "OwnerType" etc. by calling getters on the `Table` instance. >> >> This lead me to `api/Table.java`, auto-generated by the Thrift compiler, >> which returns private instances for the getters above. However, I'm unable >> to understand how these private variables in `metastore/api/Table.java` >> populated? In other words, when we create a new table in Hive, where >> exactly is this metadata generated and populated so that it can be later >> fetched when describing a table? >> >> Please let me know if you need any further clarifications on the question! >> >> On Mon, Jun 11, 2018 at 12:13 PM, Alan Gates <alanfga...@gmail.com> >> wrote: >> >> > Yes, this is the place to ask dev questions. >> > >> > Alan. >> > >> > On Mon, Jun 11, 2018 at 12:10 PM Sanchay Javeria <javer...@illinois.edu >> > >> > wrote: >> > >> > > Hi fellow devs, >> > > >> > > I'm a computer science student at UIUC who just got started with >> Apache >> > > Hive, I'd love to contribute more towards the open JIRA tickets. >> > > >> > > I had some questions if anyone could help :) I was wondering if this >> > > mailing list is the right space to ask dev questions? >> > > >> > > Thank you, >> > > Sanchay >> > > >> > >> >