Yes values is the outer most array. Probably array < struct < struct is the
max level of nesting possible. Any number of structs can be nested, but
internal arrays seem to be an issue. The ones that failed had, array<
struct < struct < array < struct. This broke the serde.

Regarding pretty printing, I tried something like this:

SELECT
   records.company.name as company,
   records.position.title as jobTitle,
   records.locationDescription as Place
FROM
   linkedin_jobsearch
   LATERAL VIEW explode(jobs.values) exploded_table as records;

Its somewhat closer to what I want , but needs improvisation. Will explore
beeline. Thanks for the info.

regards
Sunita


On Thu, Jun 20, 2013 at 10:19 AM, Stephen Sprague <sprag...@gmail.com>wrote:

> hooray!   over one hurdle and onto the next one.   So something about that
> one nested array caused the problem.  very strange. I wonder if there is a
> smaller test case to look at as it seems not all arrays break it since i
> see one for the attribute "values".
>
> As to the formatting issue i don't believe the native hive client has much
> to offer there. its bare bones and record oriented.   beeline seems to
> another opensource hive client which looks to have more options you might
> have a gander at that though i don't think it has anything special for
> pretty printing arrays, maps or structs but i could be wrong.
>
> And then of course nothing stopping you though from exploring piping that
> gnarly stuff into python (or whatever) and have it come out the other end
> all nice and pretty -- and then posting that here. :)
>
>
> On Wed, Jun 19, 2013 at 7:54 PM, Sunita Arvind <sunitarv...@gmail.com>wrote:
>
>> Finally I could get it work. The issue resolves once I remove the arrays
>> within position structure. So that is the limitation of the serde. I
>> changed 'industries' to string and 'jobfunctions' to Map<string,string> I
>> can query the table just fine now. Here is the complete DDL for reference:
>>
>> create external table linkedin_Jobsearch (
>>
>> jobs STRUCT<
>> values : ARRAY<STRUCT<
>> company : STRUCT<
>> id : STRING,
>> name : STRING>,
>> postingDate : STRUCT<
>> year : STRING,
>> day : STRING,
>> month : STRING>,
>> descriptionSnippet : STRING,
>> expirationDate : STRUCT<
>> year : STRING,
>> day : STRING,
>> month : STRING>,
>> position : STRUCT<
>> jobFunctions : MAP<STRING,STRING>,    ------these were arrays of
>> structure in my previous attempts
>> industries : STRING,
>> title : STRING,
>>
>> jobType : STRUCT<
>> code : STRING,
>> name : STRING>,
>> experienceLevel : STRUCT<
>> code : STRING,
>> name : STRING>>,
>> id : STRING,
>> customerJobCode : STRING,
>> skillsAndExperience : STRING,
>> salary : STRING,
>> jobPoster : STRUCT<
>> id : STRING,
>> firstName : STRING,
>> lastName : STRING,
>> headline : STRING>,
>> referralBonus : STRING,
>> locationDescription : STRING>>>
>> )
>> ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
>> LOCATION '/user/sunita/tables/jobs';
>>
>> Thanks Stephen for sharing your thoughts. It helped.
>>
>> Also if someone /Stephen could help me display this information in a
>> useful manner, that would be great. Right now all the values show up as
>> arrays. Here is what I mean:
>> For a query like this:
>> hive> select jobs.values.company.name, jobs.values.position.title,
>> jobs.values.locationdescription from linkedin_jobsearch;
>>
>> This is the output:
>>
>> ["CyberCoders","CyberCoders","CyberCoders","Management Science
>> Associates","Google","Google","CyberCoders","CyberCoders","HP","Sigmaways","Global
>> Data Consultancy","Global Data
>> Consultancy","CyberCoders","CyberCoders","CyberCoders","VMware","CD IT
>> Recruitment","CD IT Recruitment","Digital Reasoning Systems","AOL"]
>> ["Software Engineer-Hadoop, HDFS, HBase, Pig- Vertica Analytics","Software
>> Engineer-Hadoop, HDFS, HBase, Pig- Vertica Analytics","Software
>> Engineer-Hadoop, HDFS, HBase, Pig- Vertica Analytics","Data
>> Architect","Systems Engineer, Site Reliability Engineering","Systems
>> Engineer, Site Reliability Engineering","NoSQL Engineer - MongoDB for big
>> data, web crawling - RELO OFFER","NoSQL Engineer - MongoDB for big data,
>> web crawling - RELO OFFER","Hadoop Database Administrator Medicare","Hadoop
>> / Big Data Consultant","Lead Hadoop developer","Head of Big Data -
>> Hadoop","Hadoop Engineer - Hadoop, Operations, Linux Admin, Java,
>> Storage","Sr. Hadoop Administrator - Hadoop, MapReduce, HDFS","Sr. Hadoop
>> Administrator - Hadoop, MapReduce, HDFS","Software Engineer - Big
>> Data","Hadoop Team Lead Consultant - Global Leader in Big Data
>> solutions","Hadoop Administrator Consultant - Global Leader in Big Data
>> solutions","Java Developer","Sr.Software Engineer-Big Data-Hadoop"]
>> ["Pittsburgh, PA","Pittsburgh, PA","Harrisburg, PA","Pittsburgh, PA
>> (Shadyside area near Bakery Square)","Pittsburgh, PA, USA","Pittsburgh,
>> PA","Cleveland, OH","Akron, OH","Herndon, VA","Cupertino, CA","London,
>> United Kingdom","London, United Kingdom","Mountain View, CA","san jose,
>> CA","Santa Clara, CA","Palo Alto, CA","Home based - Live anywhere in the UK
>> or Benelux","Home based - Live anywhere in the UK or Benelux","Herndon,
>> VA","Dulles, VA"]
>> Time taken: 8.518 seconds
>>
>> All company names come into an array, all position titles into another
>> array and all locationdescription into yet another array. I cannot map 1
>> value to the other.
>>
>> The below query gives a decent output where individual columns can be
>> somewhat mapped:
>>
>> hive> select jobs.values[0].company.name, jobs.values[0].position.title,
>> jobs.values[0].locationdescription from linkedin_jobsearch;
>>
>> CyberCoders     Software Engineer-Hadoop, HDFS, HBase, Pig- Vertica
>> Analytics  Pittsburgh, PA
>> Time taken: 8.543 seconds
>>
>> But if I want to get the whole list this does not work. I have tried
>> setting Input and output formats and setting serde properties to map to
>> columns, but the output is the same. I haven't tried LATERAL VIEW
>> json_tuple as yet, I found it cryptic and I hope there is something simpler.
>>
>> I can think of writing a UDF which loops for the length of the array and
>> I can access values array incrementally. But the catch here is, what if one
>> of the records has any of their fields missing.
>>
>> Is there a better solution?
>>
>> regards
>> Sunita
>>
>>
>>
>>
>>
>> On Wed, Jun 19, 2013 at 3:29 PM, Sunita Arvind <sunitarv...@gmail.com>wrote:
>>
>>> Thanks Stephen,
>>> Let me explore options. I will let you all know once I am successful.
>>>
>>> regards
>>> Sunita
>>>
>>>
>>> On Wed, Jun 19, 2013 at 3:08 PM, Stephen Sprague <sprag...@gmail.com>wrote:
>>>
>>>> try_parsed_json is not trivial imho :)
>>>>
>>>> start with the very, very basic, for example,  { "jobs" : "foo" }.  Get
>>>> that to work first. :)   When that works add a level of nesting and see
>>>> what happens.  Keep building on it until you either break it (and then you
>>>> know that last thing you added broke it and can concentrate on that) or
>>>> you'll have worked out all the bugs and your final example will work.
>>>> Nothing fancy here except old school trial and error.
>>>>
>>>> An alternative I keep bringing up when native semantics don't go one's
>>>> way is the transform() function.  use python, perl,  ruby or whatever to
>>>> parse the json and go nuts with the rich features of said language.  just
>>>> write your output to stdout as a delimited serialization of what you want
>>>> to store and that's it.  That would be another way to get your scalars,
>>>> arrays and structs to work.
>>>>
>>>> Don't give up yet though on the JsonSerde! :)  Its probably something
>>>> very easy that we just can't see.
>>>>
>>>>
>>>>
>>>> On Wed, Jun 19, 2013 at 10:00 AM, Sunita Arvind 
>>>> <sunitarv...@gmail.com>wrote:
>>>>
>>>>> Thanks for looking into it Ramki.
>>>>> Yes I had tried these options. Here is what I get (renamed the table
>>>>> to have a meaningful name):
>>>>>
>>>>> hive> select jobs.values[1].id from linkedinjobsearch;
>>>>> ......mapreduce task details....
>>>>> OK
>>>>> NULL
>>>>> Time taken: 9.586 seconds
>>>>>
>>>>>
>>>>> hive> select jobs.values[0].position.title from linkedinjobsearch;
>>>>>  Total MapReduce jobs = 1
>>>>> Launching Job 1 out of 1
>>>>>
>>>>> OK
>>>>> NULL
>>>>> Time taken: 9.617 seconds
>>>>>
>>>>>
>>>>> I am trying to connect btrace to the process to be able to trace the
>>>>> code but cant get it to respond. Here is what I tried:
>>>>>
>>>>> [sunita@node01 ~]$ hive --debug, recursive=y,
>>>>> port=7000,mainSuspend=y, childSuspend=y
>>>>> ERROR: Cannot load this JVM TI agent twice, check your java command
>>>>> line for duplicate jdwp options.
>>>>> Error occurred during initialization of VM
>>>>> agent library failed to init: jdwp
>>>>>
>>>>> Tried changing the port also. Any idea regarding the debuggers that
>>>>> can be used. I also tried explain query and that does not show any issues
>>>>> either.
>>>>>
>>>>> regards
>>>>> Sunita
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jun 19, 2013 at 12:11 PM, Ramki Palle 
>>>>> <ramki.pa...@gmail.com>wrote:
>>>>>
>>>>>> Can you run some other queries from job1 table and see if any query
>>>>>> returns some data?
>>>>>>
>>>>>> I am guessing your query "select jobs.values.position.title from
>>>>>> jobs1;"  may have some issue. May be it should be as
>>>>>>
>>>>>> select jobs.values[0].position.title from jobs1;
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Ramki.
>>>>>>
>>>>>>
>>>>>> On Wed, Jun 19, 2013 at 8:24 AM, Sunita Arvind <sunitarv...@gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Thanks Stephen,
>>>>>>>
>>>>>>> That's just what I tried with the try_parsed table. It is exactly
>>>>>>> same data with lesser nesting in the structure and lesser number of 
>>>>>>> entries.
>>>>>>> Do you mean to say that highly nested jsons can lead to issues? What
>>>>>>> are typical solution to such issues? Write UDFs in hive or parse the 
>>>>>>> JSON
>>>>>>> into a delimited file?
>>>>>>> I have heard of custom serdes also. Not sure if UDFs and custom
>>>>>>> serdes are one and the same.
>>>>>>>
>>>>>>> regards
>>>>>>> Sunita
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jun 19, 2013 at 10:38 AM, Stephen Sprague <
>>>>>>> sprag...@gmail.com> wrote:
>>>>>>>
>>>>>>>> I think you might have to start small here instead of going for the
>>>>>>>> home run on the first swing.  when all else fails start with a trivial 
>>>>>>>> json
>>>>>>>> object and then build up from there and see what additional step breaks
>>>>>>>> it.   that way you know if the trivial example fails is something
>>>>>>>> fundamental and not the complexity of your json object that's throwing
>>>>>>>> things off.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jun 19, 2013 at 4:34 AM, Sunita Arvind <
>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Thanks for sharing your experience Richa.
>>>>>>>>> I do have timestamps but in the format of year : INT, day : INT,
>>>>>>>>> month : INT.
>>>>>>>>> As per your suggestion, I changed them all to string, but still
>>>>>>>>> get null as the output.
>>>>>>>>>
>>>>>>>>> regards
>>>>>>>>> Sunita
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jun 19, 2013 at 2:17 AM, Richa Sharma <
>>>>>>>>> mailtorichasha...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Do you have any timestamp fields in the table that might contain
>>>>>>>>>> null value ?
>>>>>>>>>>
>>>>>>>>>> I faced a similar situation sometime back - changing the data
>>>>>>>>>> type to string made it work.
>>>>>>>>>>
>>>>>>>>>> But I was working on delimited text files.
>>>>>>>>>> Not sure if it applies to JSON .. but its still worth giving a
>>>>>>>>>> try !!
>>>>>>>>>>
>>>>>>>>>> Richa
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jun 19, 2013 at 7:28 AM, Sunita Arvind <
>>>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Having the a column name same as the table name, is a problem
>>>>>>>>>>> due to which I was not able to reference jobs.values.id from
>>>>>>>>>>> jobs. Changing the table name to jobs1 resolved the semantic error.
>>>>>>>>>>> However, the query still returns null
>>>>>>>>>>>
>>>>>>>>>>> hive> select jobs.values.position.title from jobs1;
>>>>>>>>>>> Total MapReduce jobs = 1
>>>>>>>>>>> Launching Job 1 out of 1
>>>>>>>>>>> Number of reduce tasks is set to 0 since there's no reduce
>>>>>>>>>>> operator
>>>>>>>>>>> Starting Job = job_201306080116_0036, Tracking URL =
>>>>>>>>>>> http://node01.expressanalytics.net:50030/jobdetails.jsp?jobid=job_201306080116_0036
>>>>>>>>>>> Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill
>>>>>>>>>>> job_201306080116_0036
>>>>>>>>>>> Hadoop job information for Stage-1: number of mappers: 1; number
>>>>>>>>>>> of reducers: 0
>>>>>>>>>>> 2013-06-18 18:55:52,381 Stage-1 map = 0%,  reduce = 0%
>>>>>>>>>>> 2013-06-18 18:55:56,394 Stage-1 map = 100%,  reduce = 0%,
>>>>>>>>>>> Cumulative CPU 0.88 sec
>>>>>>>>>>> 2013-06-18 18:55:57,400 Stage-1 map = 100%,  reduce = 0%,
>>>>>>>>>>> Cumulative CPU 0.88 sec
>>>>>>>>>>> 2013-06-18 18:55:58,407 Stage-1 map = 100%,  reduce = 100%,
>>>>>>>>>>> Cumulative CPU 0.88 sec
>>>>>>>>>>> MapReduce Total cumulative CPU time: 880 msec
>>>>>>>>>>> Ended Job = job_201306080116_0036
>>>>>>>>>>> MapReduce Jobs Launched:
>>>>>>>>>>> Job 0: Map: 1   Cumulative CPU: 0.88 sec   HDFS Read: 35374 HDFS
>>>>>>>>>>> Write: 3 SUCCESS
>>>>>>>>>>> Total MapReduce CPU Time Spent: 880 msec
>>>>>>>>>>> OK
>>>>>>>>>>> null
>>>>>>>>>>> Time taken: 9.591 seconds
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> regards
>>>>>>>>>>> Sunita
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 18, 2013 at 9:35 PM, Sunita Arvind <
>>>>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Ok.
>>>>>>>>>>>> The data files are quite small. Around 35 KB and 1 KB each.
>>>>>>>>>>>>
>>>>>>>>>>>> [sunita@node01 tables]$  hadoop fs -ls /user/sunita/tables/jobs
>>>>>>>>>>>> Found 1 items
>>>>>>>>>>>> -rw-r--r--   3 sunita hdfs      35172 2013-06-18 18:31
>>>>>>>>>>>> /user/sunita/tables/jobs/jobs_noSite_parsed.json
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [sunita@node01 tables]$ hadoop fs -text
>>>>>>>>>>>> /user/sunita/tables/jobs/jobs_noSite_parsed.json |more
>>>>>>>>>>>> {"jobs": {"_total": 1812, "_count": 20, "_start": 0, "values":
>>>>>>>>>>>> [{"company": {"i
>>>>>>>>>>>> d": 21836, "name": "CyberCoders"}, "postingDate": {"year":
>>>>>>>>>>>> 2013, "day": 10, "mo
>>>>>>>>>>>> nth": 6}, "descriptionSnippet": "Software Engineer-Hadoop,
>>>>>>>>>>>> HDFS, HBase, Pig- Ve
>>>>>>>>>>>> rtica Analytics Senior Hadoop Engineer - Skills Required -
>>>>>>>>>>>> Hadoop, HDFS, HBase,
>>>>>>>>>>>>  Pig, SQL, Industrial Software Development, System Integration,
>>>>>>>>>>>> Java, high perf
>>>>>>>>>>>> ormance, multi-threading, VerticaWe are a well known consumer
>>>>>>>>>>>> product developme
>>>>>>>>>>>> nt company and we are looking to add a Hadoop Engineer to our
>>>>>>>>>>>> Engineering team.
>>>>>>>>>>>>   You will be working with the latest ", "expirationDate":
>>>>>>>>>>>> {"year": 2013, "day"
>>>>>>>>>>>>
>>>>>>>>>>>> Its a single line, so used 'more' rather than 'head'. But
>>>>>>>>>>>> effectively, the file exists and has the data.
>>>>>>>>>>>>
>>>>>>>>>>>> regards
>>>>>>>>>>>> Sunita
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jun 18, 2013 at 8:38 PM, Stephen Sprague <
>>>>>>>>>>>> sprag...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> As Nitin alluded to its best to confirm the data is definitely
>>>>>>>>>>>>> in hdfs using hdfs semantics rather than hive for the first step.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. how big is it?   hadoop fs -ls <your hdfs dir>
>>>>>>>>>>>>> 2. cat a bit of it and see if anything is there.   hadoop fs
>>>>>>>>>>>>> -text <your hdfs dir>/<filename> | head -10
>>>>>>>>>>>>>
>>>>>>>>>>>>> do you see any data from step #2?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jun 18, 2013 at 3:58 PM, Sunita Arvind <
>>>>>>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I ran some complex queries. Something to the extent of
>>>>>>>>>>>>>>                     select jobs from jobs;
>>>>>>>>>>>>>>  which triggers map reduce jobs but does not show errors and
>>>>>>>>>>>>>> produces the same output "null". If I try referencing the struct 
>>>>>>>>>>>>>> elements,
>>>>>>>>>>>>>> I get error which seems to be the root cause.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Attached are the select statement outputs with the
>>>>>>>>>>>>>> corresponding hive logs.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have also attached my usage details of another table -
>>>>>>>>>>>>>> try_parsed which has a subset of the same data which seems to 
>>>>>>>>>>>>>> work fine.
>>>>>>>>>>>>>> Also attached is the input file for this table - try_parsed.json
>>>>>>>>>>>>>> Thanks for your help
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sunita
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jun 18, 2013 at 4:35 PM, Nitin Pawar <
>>>>>>>>>>>>>> nitinpawar...@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> can you run a little more complex query
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> select uniq across columns or do some maths. so we know when
>>>>>>>>>>>>>>> it fires up a mapreduce
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Jun 19, 2013 at 1:59 AM, Sunita Arvind <
>>>>>>>>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks for responding Nitin. Yes I am sure that serde is
>>>>>>>>>>>>>>>> working fine and json file is being picked based on all the 
>>>>>>>>>>>>>>>> errors that
>>>>>>>>>>>>>>>> showed up till this stage. What sort of error are you 
>>>>>>>>>>>>>>>> suspecting. File not
>>>>>>>>>>>>>>>> present or serde not parsing it ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tuesday, June 18, 2013, Nitin Pawar wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> select * from table is as good as hdfs -cat
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> are you sure there is any data in the table?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Jun 18, 2013 at 11:54 PM, Sunita Arvind <
>>>>>>>>>>>>>>>>> sunitarv...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am able to parse the input JSON file and load it into
>>>>>>>>>>>>>>>>>> hive. I do not see any errors with create table, so I am 
>>>>>>>>>>>>>>>>>> assuming that. But
>>>>>>>>>>>>>>>>>> when I try to read the data, I get null
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> hive> select * from jobs;
>>>>>>>>>>>>>>>>>> OK
>>>>>>>>>>>>>>>>>> null
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have validated the JSON with JSONLint and Notepad++
>>>>>>>>>>>>>>>>>> JSON plugin and it is a valid JSON. Here is my create
>>>>>>>>>>>>>>>>>> table statement and attached is the json input file.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> create external table jobs (
>>>>>>>>>>>>>>>>>> jobs STRUCT<
>>>>>>>>>>>>>>>>>> values : ARRAY<STRUCT<
>>>>>>>>>>>>>>>>>> company : STRUCT<
>>>>>>>>>>>>>>>>>> id : STRING,
>>>>>>>>>>>>>>>>>> name : STRING>,
>>>>>>>>>>>>>>>>>> postingDate : STRUCT<
>>>>>>>>>>>>>>>>>> year : INT,
>>>>>>>>>>>>>>>>>> day : INT,
>>>>>>>>>>>>>>>>>> month : INT>,
>>>>>>>>>>>>>>>>>> descriptionSnippet : STRING,
>>>>>>>>>>>>>>>>>> expirationDate : STRUCT<
>>>>>>>>>>>>>>>>>> year : INT,
>>>>>>>>>>>>>>>>>> day : INT,
>>>>>>>>>>>>>>>>>> month : INT>,
>>>>>>>>>>>>>>>>>> position : STRUCT<
>>>>>>>>>>>>>>>>>> title : STRING,
>>>>>>>>>>>>>>>>>> jobFunctions : ARRAY<STRUCT<
>>>>>>>>>>>>>>>>>> code : STRING,
>>>>>>>>>>>>>>>>>> name : STRING>>,
>>>>>>>>>>>>>>>>>> industries : ARRAY<STRUCT<
>>>>>>>>>>>>>>>>>> code : STRING,
>>>>>>>>>>>>>>>>>> id : STRING,
>>>>>>>>>>>>>>>>>> name : STRING>>,
>>>>>>>>>>>>>>>>>> jobType : STRUCT<
>>>>>>>>>>>>>>>>>> code : STRING,
>>>>>>>>>>>>>>>>>> name : STRING>,
>>>>>>>>>>>>>>>>>> experienceLevel : STRUCT<
>>>>>>>>>>>>>>>>>> code : STRING,
>>>>>>>>>>>>>>>>>> name : STRING>>,
>>>>>>>>>>>>>>>>>> id : STRING,
>>>>>>>>>>>>>>>>>> customerJobCode : STRING,
>>>>>>>>>>>>>>>>>> skillsAndExperience : STRING,
>>>>>>>>>>>>>>>>>> salary : STRING,
>>>>>>>>>>>>>>>>>> jobPoster : STRUCT<
>>>>>>>>>>>>>>>>>> id : STRING,
>>>>>>>>>>>>>>>>>> firstName : STRING,
>>>>>>>>>>>>>>>>>> lastName : STRING,
>>>>>>>>>>>>>>>>>> headline : STRING>,
>>>>>>>>>>>>>>>>>> referralBonus : STRING,
>>>>>>>>>>>>>>>>>> locationDescription : STRING>>>
>>>>>>>>>>>>>>>>>>  )
>>>>>>>>>>>>>>>>>> ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
>>>>>>>>>>>>>>>>>> LOCATION '/user/sunita/tables/jobs';
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The table creation works fine, but when I attempt to
>>>>>>>>>>>>>>>>>> query, I get null as the result.
>>>>>>>>>>>>>>>>>> I tried adding Input/Output formats, Serde Properties,
>>>>>>>>>>>>>>>>>> nothing seems to impact.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am of the opinion that the libraries cannot handle this
>>>>>>>>>>>>>>>>>> level of nesting and I probably will have to write a custom 
>>>>>>>>>>>>>>>>>> serde or a
>>>>>>>>>>>>>>>>>> parser myself. Just wanted to seek guidance before I get 
>>>>>>>>>>>>>>>>>> into that.
>>>>>>>>>>>>>>>>>> Appreciate your help and guidance.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> regards
>>>>>>>>>>>>>>>>>> Sunita
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Nitin Pawar
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Nitin Pawar
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to