We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


COPY's usage with complex types - ARRAY — Vertica Forum

COPY's usage with complex types - ARRAY

I would like to be able to COPY into Vertica data using a complex type, in this case an Array, is it possible ?

For example, having this dataset, how could I use COPY to load the data on Vertica with the "accepted_forms" as an array ?

id name accepted_forms
1 foo "[form1, form2]"
2 bar "[form2]"

Answers

  • marcothesanemarcothesane - Select Field - Administrator

    I did not manage without a STRING_TO_ARRAY() function call :smile:

    DROP TABLE IF EXISTS with_array;
    -- out DROP TABLE
    CREATE TABLE with_array (
      id          INT
    , name        VARCHAR(3)
    , accepted_forms ARRAY[VARCHAR(5),9]
    );
    -- out CREATE TABLE
    
    COPY with_array (
      id
    , name
    , accform_in FILLER VARCHAR(64)
    , accepted_forms AS STRING_TO_ARRAY(accform_in)
    )
    FROM LOCAL STDIN  DELIMITER ';' ENCLOSED BY '"' SKIP 1 EXCEPTIONS '/dev/tty';
    id;name;accepted_forms
    1;foo;"[form1, form2]"
    2;bar;"[form2]"
    \.
    -- out  Rows Loaded 
    -- out -------------
    -- out            2
    
    SELECT * FROM with_array;
    -- out  id | name |  accepted_forms   
    -- out ----+------+-------------------
    -- out   1 | foo  | ["form1","form2"]
    -- out   2 | bar  | ["form2"]
    

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file