如何从 csv 文件创建 table 定义并同时复制数据
how to create table definition from csv file and also copy data at the same time
我想将数据从 csv
文件加载到 Vertica。我不想在两个单独的步骤中 create table
和 copy
数据。相反,我想创建 table,指定 csv
文件,然后让 vertica
自己找出列定义(名称、数据类型),然后加载数据。
类似于create table titanic_train () as COPY FROM '/data/train.csv' PARSER fcsvparser() rejected data as table titanic_train_rejected abort on error no commit;
可能吗?
我想如果 table 有 100 列,那么自动创建 table、列定义和数据复制将比单独执行这些步骤 easier/faster 多 [=17] =]
无论如何都是好几步。
- 使用 Vertica 的内置位:
CREATE FLEX TABLE foo();
COPY foo FROM '/data/mycsvs/foo.csv' PARSER fCsvParser();
SELECT COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW('foo');
-- THEN, either:
SELECT * FROM foo_view;
-- OR: create a ROS Table:
CREATE TABLE foo_ros AS SELECT * FROM foo_view;
- 从网上获取一个 CSV 到 DDL 的解析器,例如 https://github.com/marco-the-sane/d2l,然后安装它:
$ d2l -coldelcomma -chardelquote -drp -copy /data/mycsvs/foo.csv | vsql
因此,在第二种情况下,这是一步,但它同时调用了 d2l
和 vsql
。
我想将数据从 csv
文件加载到 Vertica。我不想在两个单独的步骤中 create table
和 copy
数据。相反,我想创建 table,指定 csv
文件,然后让 vertica
自己找出列定义(名称、数据类型),然后加载数据。
类似于create table titanic_train () as COPY FROM '/data/train.csv' PARSER fcsvparser() rejected data as table titanic_train_rejected abort on error no commit;
可能吗?
我想如果 table 有 100 列,那么自动创建 table、列定义和数据复制将比单独执行这些步骤 easier/faster 多 [=17] =]
无论如何都是好几步。
- 使用 Vertica 的内置位:
CREATE FLEX TABLE foo();
COPY foo FROM '/data/mycsvs/foo.csv' PARSER fCsvParser();
SELECT COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW('foo');
-- THEN, either:
SELECT * FROM foo_view;
-- OR: create a ROS Table:
CREATE TABLE foo_ros AS SELECT * FROM foo_view;
- 从网上获取一个 CSV 到 DDL 的解析器,例如 https://github.com/marco-the-sane/d2l,然后安装它:
$ d2l -coldelcomma -chardelquote -drp -copy /data/mycsvs/foo.csv | vsql
因此,在第二种情况下,这是一步,但它同时调用了 d2l
和 vsql
。