You can do it as
Select address.country from employees;
Sent from remote device, Please excuse typos
From: Bennie Schut <[EMAIL PROTECTED]>
Date: Fri, 8 Mar 2013 09:09:49
To: [EMAIL PROTECTED]<[EMAIL PROTECTED]>; 'Sai Sai'<[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: RE: Accessing sub column in hive
Perhaps worth posting the error. Some might know what the error means.
Also a bit unrelated to hive but please do yourself a favor and don't use float to store monetary values like salary. You will get rounding issues at some point in time when you do arithmetic on them. Considering you are using hadoop you probably have a lot of data so adding it all up will get you there really really fast. http://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency
From: Sai Sai [mailto:[EMAIL PROTECTED]]
Sent: Thursday, March 07, 2013 12:54 PM
To: [EMAIL PROTECTED]
Subject: Re: Accessing sub column in hive
I have a table created like this successfully:
CREATE TABLE IF NOT EXISTS employees (name STRING,salary FLOAT,subordinates ARRAY<STRING>,deductions MAP<STRING,FLOAT>,address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT, country:STRING>)
I would like to access/display country column from my address struct.
I have tried this:
select address["country"] from employees;
I get an error.