Thanks a lot for your reply, Stephen.
To answer your question - I was not aware of the fact that we could use
delimiter (in my example, '|') for first level of nesting. I tried now and
it worked fine.

My next question - Is there any way to provide delimiter in DDL for second
level of nesting?
Thanks again!!

On Thu, Jun 20, 2013 at 8:02 PM, Stephen Sprague <sprag...@gmail.com> wrote:

> its all there in the documentation under "create table" and it seems you
> got everything right too except one little thing - in your second example
> there for 'sample data loaded' - instead of '^B' change that to '|'  and
> you should be good. That's the delimiter that separates your two array
> elements - ie collections.
>
> i guess the real question for me is when you say 'since there is no way to
> use given delimiter "|" ' what did you mean by that?
>
>
>
> On Thu, Jun 20, 2013 at 1:42 AM, neha <ms.nehato...@gmail.com> wrote:
>
>> Hi All,
>>
>> I have 2 questions about complex data types in nested composition.
>>
>> 1 >> I did not find a way to provide delimiter information in DDL if one
>> or more column has nested array/struct. In this case, default delimiter has
>> to be used for complex type column.
>> Please let me know if this is a limitation as of now or I am missing
>> something.
>>
>> e.g.:
>> *DDL*:
>> hive> create table example(col1 int, col2
>> array<struct<st1:int,st2:string>>) row format delimited fields terminated
>> by ',';
>> OK
>> Time taken: 0.226 seconds
>>
>> *Sample data loaded:*
>> 1,1^Cstring1^B2^Cstring2
>>
>> *O/P:*
>> hive> select * from example;
>> OK
>> 1    [{"st1":1,"st2":"string1"},{"st1":2,"st2":"string2"}]
>> Time taken: 0.288 seconds
>>
>> 2 >> For the same DDL given above, if we provide clause* collection
>> items terminated by '|' *and still use default delimiters (since there
>> is no way to use given delimiter '|') then the select query shows incorrect
>> data.
>> Please let me know if this is something expected.
>>
>> e.g.
>> *DDL*:
>> hive> create table example(col1 int, col2
>> array<struct<st1:int,st2:string>>) row format delimited fields terminated
>> by ',' collection items terminated by '|';
>> OK
>> Time taken: 0.175 seconds
>>
>> *Sample data loaded:*
>> 1,1^Cstring1^B2^Cstring2
>>
>> *O/P:
>> *hive> select * from
>> example;
>>
>> OK
>> 1    [{"st1":1,"st2":"string1\u00022"}]
>> Time taken: 0.141 seconds
>> **
>> Thanks & Regards.
>>
>
>

Reply via email to