zoukankan      html  css  js  c++  java
  • vertica系列:数据的导入导出

    本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作.

    copy 数据导入工具

    copy 命令无疑是最常用的导入工具了, 它是Vertica的bulk copy工具, 性能非常好. 可以直接从文本文件或者压缩文件导入数据,
    支持的压缩格式有: BZIP | GZIP | LZO | UNCOMPRESSED
    支持的文件格式有: csv | FIXEDWIDTH | json | ORC | parquet
    设置为json 格式设置 parser.

    从数据库 node 节点导入

    从数据库节点的文件系统中导入数据, 需要有 vertica 的 superuser 的权限, 一般用比较少. 数据文件可以仅仅存放在某个节点上, 或者所有节点上. 比如在节点2上, 使用 on v_dbname_node0002 ; 在所有节点上, 使用 ON ANY NODE, 下面是一个示例.

    COPY schema.table 
        (column_a, column_b...)
    FROM '/tmp/bigdata.csv.gz' GZIP 
    on v_dbname_node0002 
    WITH
        DELIMITER AS ','
        ENCLOSED BY '"'
        SKIP 1
    

    从客户端本地导入(copy local)

    copy local 更常用一些.

    COPY schema.table 
        (column_a, column_b...)
    FROM LOCAL '/tmp/bigdata.csv.gz' GZIP
    WITH
        DELIMITER AS ','
        ENCLOSED BY '"'
        SKIP 1
    

    导出数据到本地文件

    可以使用 vsql 命令行工具导出数据到本地文件, vsql 有非常强大的输出格式定制功能, 我们甚至可以使用 html 模版进行文件的导出.

    vsql -U username -w passwd -h testdb01 -d vmart "select * from export_query_result " -Aq -P footer=off -F ',' -o "/tmp/example.csv"

    export table 到另一个 vertica 集群中

    --首先执行连接目标集群
    CONNECT TO VERTICA my_database USER my_user PASSWORD 'my_password' ON '10.205.10.00',5433;

    --执行数据 Export
    EXPORT TO VERTICA my_database.my_schema.my_table as
    select * from my_schema.my_table where my_date_column=date'2017-06-13';

    ---关闭连接
    DISCONNECT my_database;

  • 相关阅读:
    java实现打印倒直角三角形
    java实现打印倒直角三角形
    java实现打印倒直角三角形
    java实现打印直角三角形
    java实现打印直角三角形
    java实现打印直角三角形
    计算一个班的平均分
    计算一个班的平均分
    计算一个班的平均分
    Creating a Message Queue in PHP Without External Libraries
  • 原文地址:https://www.cnblogs.com/harrychinese/p/vertica_data_import_export.html
Copyright © 2011-2022 走看看