In this article we will see how to work with Vertica Flex tables. We are going to use in our first example a json file.
[dbadmin@bih001 tmp]$ du -sh jon1.txt
2.0G jon1.txt
dbadmin=> create flex table test();
CREATE TABLE
dbadmin=> copy test from '/tmp/jon1.txt' parser fjsonparser();
Rows Loaded
-------------
1469400
(1 row)
dbadmin=> select compute_flextable_keys_and_build_view('test');
compute_flextable_keys_and_build_view
------------------------------------------------------------------
Please see public.test_keys for updated keys
The view public.test_view is ready for querying
(1 row)
dbadmin=> d test;
List of Fields by Tables
Schema | Table | Column | Type | Size | Default | Not Null | Primary Key | Foreign Key
--------+-------+--------------+------------------------+--------+---------+----------+-------------+-------------
public | test2 | __identity__ | int | 8 | | t | f |
public | test2 | __raw__ | long varbinary(130000) | 130000 | | t | f |
(2 rows)
dbadmin=> dv public.test_view;
List of View Fields
Schema | View | Column | Type | Size
--------+------------+---------------+---------------------+------
public | test2_view | about | varchar(1270) | 1270
public | test2_view | address | varchar(120) | 120
public | test2_view | age | varchar(20) | 20
public | test2_view | balance | varchar(20) | 20
public | test2_view | company | varchar(24) | 24
public | test2_view | email | varchar(66) | 66
public | test2_view | favoritefruit | varchar(20) | 20
public | test2_view | friends | long varbinary(304) | 304
public | test2_view | gender | varchar(20) | 20
public | test2_view | greeting | varchar(114) | 114
public | test2_view | guid | varchar(72) | 72
public | test2_view | id | varchar(20) | 20
public | test2_view | isactive | varchar(20) | 20
public | test2_view | latitude | varchar(20) | 20
public | test2_view | longitude | varchar(20) | 20
public | test2_view | name | varchar(40) | 40
public | test2_view | phone | varchar(34) | 34
public | test2_view | picture | varchar(50) | 50
public | test2_view | registered | varchar(52) | 52
public | test2_view | tags | long varbinary(288) | 288
(20 rows)