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