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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM