iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vertica数据库copy命令是实现数据加载的代码怎么写
  • 446
分享到

vertica数据库copy命令是实现数据加载的代码怎么写

2023-06-02 23:06:02 446人浏览 独家记忆
摘要

vertica数据库copy命令是实现数据加载的代码怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。vertica数据加载创建外部数据文本:[dbadmin

vertica数据库copy命令是实现数据加载的代码怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

vertica数据加载

创建外部数据文本:
[dbadmin@verticatest ~]$ for((i=1;i<10000;i++))
> do
> echo "$i,mingshuo">>0629.txt
> done

修改不满足格式数据
sed -i 's/9998/ms/' 0629.txt
[dbadmin@verticatest ~]$ tail 0629.txt
9990,mingshuo
9991,mingshuo
9992,mingshuo
9993,mingshuo
9994,mingshuo
9995,mingshuo
9996,mingshuo
9997,mingshuo
ms,mingshuo
9999,mingshuo

创建空表:
dbadmin=> create schema test;
CREATE SCHEMA
dbadmin=> create table test.t1(id int,name varchar2(100),b varchar2(100));
CREATE TABLE
dbadmin=> select count(*) from test.t1;
 count
-------
     0
(1 row)

将文本中的数据加载到表test.t1中:
COPY test.t1(id,name) FROM '/home/dbadmin/0629.txt' EXCEPTioNS '/tmp/exp.log' DELIMITER ',' abort on error no commit;

这里指定了列名
exceptions是导入失败的数据的原因日志
delemiter是列的分割符。如果用ASCII码表示要加e,比如:e'\t'
abort on error遇到报错导入终止;
no commit是指导入完成后不提交数据。


dbadmin=> COPY test.t1(id,name) FROM '/home/dbadmin/0629.txt' EXCEPTIONS '/tmp/exp.log' DELIMITER ',' abort on error no commit;
ERROR 2035:  COPY: Input record 9998 has been rejected (Invalid integer fORMat 'ms' for column 1 (id))
实际导入发现9998行ms数据不符合表的定义,id是int类型,而9998行是ms。
dbadmin=> select count(*) from test.t1;
 count
-------
     0
(1 row)
发现数据没有导入,这是因为abort on error生效了。

这时候的日志:
[dbadmin@verticatest tmp]$ more exp.log
COPY: Input record 9998 has been rejected (Invalid integer format 'ms' for column 1 (id)).  Please see /home/dbadmin/firstvdb/v_fir
stvdb_node0001_catalog/CopyErrorLogs/t1-0629.txt-copy-from-rejected-data, record 1 for the rejected record.


去掉abort on error再导入:
dbadmin=> COPY test.t1(id,name) FROM '/home/dbadmin/0629.txt' EXCEPTIONS '/tmp/exp.log' DELIMITER ',' no commit;
 Rows Loaded
-------------
        9998
(1 row)


[dbadmin@verticatest tmp]$ more exp.log
COPY: Input record 9998 has been rejected (Invalid integer format 'ms' for column 1 (id)).  Please see /home/dbadmin/firstvdb/v_fir
stvdb_node0001_catalog/CopyErrorLogs/t1-0629.txt-copy-from-rejected-data, record 1 for the rejected record.
COPY: Loaded 9998 rows, rejected 1 rows.

可以看到9999行数据成功导入9998行。ms行没有导入,ms行后面符合定义的数据也成功导入,但是没有报错。所以如果觉得一部分导入成功了,一部分失败了,因为有些原因我还要再删除导入的数据重新来,那么这个时候就可以加入abort on error参数。

下面验证no commit参数:
刚刚导入的数据没有提交就退出客户端:
dbadmin=> COPY test.t1(id,name) FROM '/home/dbadmin/0629.txt' EXCEPTIONS '/tmp/exp.log' DELIMITER ',' no commit;
 Rows Loaded
-------------
        9998
(1 row)

dbadmin=> \q

再次登入:
[dbadmin@verticatest ~]$ vsql
PassWord:
vsql: FATAL 3781:  Invalid username or password
[dbadmin@verticatest ~]$ vsql
Password:
Welcome to vsql, the Vertica Analytic Database interactive terminal.

Type:  \h or \? for help with vsql commands
       \g or terminate with semicolon to execute query
       \q to quit
       
dbadmin=> select count(*) from test.t1;
 count
-------
     0
(1 row)

0行数据。

重新加载:
dbadmin=> COPY test.t1(id,name) FROM '/home/dbadmin/0629.txt' EXCEPTIONS '/tmp/exp.log' DELIMITER ',' no commit;
 Rows Loaded
-------------
        9998
(1 row)

dbadmin=> commit;
COMMIT
dbadmin=> \q
[dbadmin@verticatest ~]$ vsql
Password:
Welcome to vsql, the Vertica Analytic Database interactive terminal.

Type:  \h or \? for help with vsql commands
       \g or terminate with semicolon to execute query
       \q to quit

dbadmin=> select count(*) from test.t1;
 count
-------
  9998
(1 row)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: vertica数据库copy命令是实现数据加载的代码怎么写

本文链接: https://www.lsjlt.com/news/231716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vertica数据库copy命令是实现数据加载的代码怎么写
    vertica数据库copy命令是实现数据加载的代码怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。vertica数据加载创建外部数据文本:[dbadmin...
    99+
    2023-06-02
  • 删除数据库的命令怎么写
    这篇文章主要介绍了删除数据库的命令怎么写,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。删除数据库的命令是“DELETE DATA”,具体格式为“...
    99+
    2024-04-02
  • oracle数据库怎么写代码
    要使用 oracle 数据库编写代码,需要遵循以下步骤:1. 安装 oracle 数据库管理系统 (dbms) 和集成开发环境 (ide)。2. 创建数据库连接。3. 使用 sql 编写...
    99+
    2024-04-19
    oracle python c++
  • 删除testdb数据库的sql命令怎么写
    这篇文章给大家分享的是有关删除testdb数据库的sql命令怎么写的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。删除testdb数据库的命令是:DROP DATABASE tes...
    99+
    2024-04-02
  • mysql创建数据库的代码怎么写
    要在MySQL中创建一个数据库,可以使用以下SQL语句: CREATE DATABASE `数据库名`; 例如,要在MySQL中创...
    99+
    2024-03-02
    mysql 数据库
  • vb.net连接数据库的代码怎么写
    以下是使用VB.NET连接数据库的基本代码示例:1. 首先需要在程序中引用 System.Data.SqlClient 命名空间。2...
    99+
    2023-06-04
    vb.net连接数据库 数据库
  • mongodb创建数据库代码怎么写
    在MongoDB中,可以使用以下代码来创建数据库:```javascript// 引入MongoDB驱动程序const MongoC...
    99+
    2023-08-24
    mongodb 数据库
  • Python读取Hive数据库代码怎么写
    今天小编给大家分享一下Python读取Hive数据库代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实际业务读取hi...
    99+
    2023-07-05
  • 数据库中增加一条新数据使用的命令是哪个
    这篇文章主要介绍“数据库中增加一条新数据使用的命令是哪个”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“数据库中增加一条新数据使用的命令...
    99+
    2024-04-02
  • 如何动手用代码实现VB.NET ListView加载数据
    如何动手用代码实现VB.NET ListView加载数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET还是比较常用的,于是我研究了一下VB.NET ...
    99+
    2023-06-17
  • python追加写入数据怎么实现
    在Python中,可以使用open()函数以追加模式打开文件,并使用write()函数写入数据。下面是一个示例代码: # 以追加模式...
    99+
    2024-02-29
    python
  • mysql查看数据库的命令是什么
    当你连接到MySQL服务器后,可以使用以下命令来查看数据库: 1、SHOW DATABASES;:这个命令将列出所有的数据库名称。 ...
    99+
    2024-04-09
    mysql 数据库
  • mysql查询数据库的命令是什么
    当使用 MySQL 查询数据库时,可以通过 SELECT 语句来检索数据。以下是一个更详细的示例: 查询单个列数据 SELE...
    99+
    2024-03-11
    mysql 数据库
  • mysql创建数据库的命令是什么
    创建 mysql 数据库可以使用 create database 命令,其语法为:create database database_name。语法中,database_name 是要创建...
    99+
    2024-04-05
    mysql
  • mysql数据库备份的命令是什么
    在MySQL中,使用mysqldump命令可以备份整个数据库或者单独备份数据表。备份命令的语法如下: 备份整个数据库: mysqld...
    99+
    2024-04-09
    mysql
  • mysql导入数据库的命令是什么
    在 MySQL 中导入数据库的命令是使用 mysql 命令行工具执行 SQL 脚本文件。以下是在终端中执行导入数据库的基本命令格式:...
    99+
    2024-04-09
    mysql 数据库
  • mysql恢复数据库的命令是什么
    mysql 恢复数据库的命令 若要恢复 MySQL 数据库,可以使用以下命令: <code class="bash"&gt;mysql -u [用户名]...
    99+
    2024-04-14
    mysql
  • linux重启数据库的命令是什么
    在Linux系统中,重启数据库的命令取决于所使用的数据库管理系统。以下是几种常见的数据库管理系统及其对应的重启命令:1. MySQL...
    99+
    2023-08-25
    linux 数据库
  • Vue怎么实现分批加载数据
    本篇内容主要讲解“Vue怎么实现分批加载数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么实现分批加载数据”吧!分批加载数据最近在写vue的项目,因为后台返回的数据量太大,在调用了高德...
    99+
    2023-06-30
  • Thymeleaf数据延迟加载怎么实现
    这篇文章主要介绍“Thymeleaf数据延迟加载怎么实现”,在日常操作中,相信很多人在Thymeleaf数据延迟加载怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Th...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作