GBase与梧桐数据库数据加载与导出的差异

news2024/11/5 1:37:49

一、前言

  在数据库的导入导出方面,GBase数据库和梧桐数据库有着各自的特点和方法。以下就表数据的导入导出介绍下两个数据库这方面的差异并总结。

二、数据导入

1、GBase库数据导入

  GBase数据库在导入数据常使用 LOAD DATA INFILE 语句将数据从文件导入到表中,支持多种数据格式和字段分隔符,具体命令如下:

LOAD DATA INFILE 'file://主机地址/文件目录/文件名' INTO TABLE 目标表 data_format 3 fields terminated by '|' ;

参数解释:

  • data_format :指定解析数据文件并加载的方式,如文本方式加载(DATA_FORMAT 3)、定长方式加载(DATA_FORMAT 4)等,示例中指定的方式为 3 文本加载方式

  • fields : 段指示,包括分隔符、包围符、空格处理等。例如,TERMINATED BY用于指定字段分隔符,ENCLOSED BY用于指定字段包围符,示例中设定 TERMINATED BY '|',指定字段分割符为 ‘|’;

  • max_bad_records : 设定错误数据行数的上限,当错误数据行数超过此值时,加载任务回滚并报错退出,设置为0时不允许存在错误记录;

  • CHARACTER SET : 指定待加载数据文件的编码格式,支持GBK、UTF8等,如果省略,认为不需要转码。

  • 引号中为目标文件地址及文件名;

备注

目标文件地址可以是本地文件系统或远程数据源,可以是 FTP、SFTP、Hadoop

例:

sftp://主机账号:主机密码@主机地址//

hdp://主机账号:主机密码@主机地址//

2、梧桐数据库数据导入

  梧桐数据库可以使用COPY命令来进行本地文件系统的导入,也可通过外部表获取远程数据源的方式导入,具体命令如下:

使用COPY命令

\copy table_name from '文件名.csv' WITH FORMAT csv delimiter '|' null as '\\N';

参数解释

  • table_name 导入的目标表名

  • from 后接待导入的文件名

  • WITH 后接导入的限制条件,示例中未完全写出

    • FORMAT 导入文件格式,要与文件的格式保持一致

    • delimiter 指定文件分割符

    • null as 指定字段为空值

    • segment reject limit 允许的错误最大记录数

    • encoding 指定字符集,不指定则为默认

    • log errors into 表名,将错误记录数插入日志

  相比较于GBase库,COPY命令只能导入本地系统的文件数据,而GBase库可以通过命令导入其他远程数据源的文件,然而梧桐数据库可以通过外部表的方式导入数据,如下:

CREATE EXTERNAL TABLE test_table
    (column_1 int, column_2 text, column_3 text)
    LOCATION ('gpfdist://文件目录/*.csv')    FORMAT 'CSV' DELIMITER ',';
  • LOCATION:指定文件目录地址及文件名

  • 其他参数与上述COPY命令一致,可按照需求添加

备注

gpfdist 是梧桐数据库的并行文件分发程序,在执行创建外部表时文件所在主机必须要安装该程序。

创建外部表后可将外部表数据插入本地数据库表中,完成导入操作。

三、数据导出

1、GBase数据库数据导出

  GBase数据库在导入数据常使用 SELECT INTO OUTFILE 语句将数据从文件导入到表中,支持多种数据格式和字段分隔符,具体命令如下:

rmt:select * from 目标表名 into outfile '目标地址/文件名.txt' fields TERMINATED BY ',' enclosed by '"' lines TERMINATED BY '\n';

参数解释:

  • fields : 字段指示,包括分隔符、包围符、空格处理等。例如,TERMINATED BY用于指定字段分隔符,ENCLOSED BY用于指定字段包围符,示例中设定 TERMINATED BY '|',指定字段分割符为 ‘|’;enclosed by '"' 指定’ " '为字段包围符;

  • lines TERMINATED BY: 指定行分隔符,默认为换行符(\n)。

  • WRITEMODE BY:指定导出文件的写入模式。可以是NORMAL(如果文件已存在则报错)或OVERWRITES(覆盖已存在的文件)。

  • CHARACTER SET : 指定待加载数据文件的编码格式,支持GBK、UTF8等,如果省略,认为不需要转码。

  • rmt:使用rmt前缀可以将数据导出到执行命令的客户端机器上,而不是服务器上.

2、梧桐数据库数据导出

  梧桐数据库常使用COPY命令来进行数据的导出,具体命令如下:

\COPY select * from table_name TO '文件地址/文件名' WITH (FORMAT 'csv',DELIMITER '|', HEADER true);

参数解释:

  • TO 后接数据导出指定的目录及文件名

  • WITH 后接导入的限制条件,示例中未完全写出

    • FORMAT 导入文件格式,要与文件的格式保持一致

    • HEADER 指定输出文件是否包含列头。可以设置为true或false

    • delimiter 指定文件分隔符,示例使用 ’ | '作为分隔符

    • ESCAPE 指定转义字符,用于转义引号字符本身或其他特殊字符,默认为反斜杠\

    • QUOTE 指定引号字符,用于包围文本字段,默认为双引号"

    • encoding 指定字符集,支持GBK、UTF8等,不指定则为默认

  梧桐数据库的数据库可视化管理平台也提供了导入导出的功能,可以通过对数据表进行导入导出。

四、总结

  GBase数据库和梧桐数据库都提供了丰富的数据导入导出工具和参数,以满足不同场景下的需求。用户可以根据自己的具体需求选择合适的工具和参数进行数据迁移。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2232229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用EasyExcel实现简易Excel导出

目标 通过注解形式完成对一个方法返回值的通用导出功能 工程搭建 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

基于java+SpringBoot+Vue的校园资料分享平台设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

VuePress文档初始化请求过多问题探讨

1. 背景 公司有部门使用VuePress 1.0搭建平台的帮助文档&#xff0c;前期文档不是很多&#xff0c;所以没有暴露出特别明显的问题。但随着文档的逐步迭代和内容的增多&#xff0c;出现了大量的并发请求&#xff0c;总共有218个请求&#xff0c;导致服务器带宽耗尽、响应速度下降…

入门 | Kafka数据使用vector消费到Loki中使用grafana展示

一、Loki的基本介绍 1、基本介绍 Loki 是由 Grafana Labs 开发的一款水平可扩展、高性价比的日志聚合系统。它的设计初衷是为了有效地处理和存储大量的日志数据&#xff0c;与 Grafana 生态系统紧密集成&#xff0c;方便用户在 Grafana 中对日志进行查询和可视化操作。 从架构…

C语言 运算符

时间&#xff1a;2024.11.4 一、学习内容 1、算数运算符&#xff08;加、减、乘、除法和取余&#xff09; 通用细节&#xff1a; 1.整数计算&#xff0c;结果一定是一个整数 2.小数计算&#xff0c;结果一定是一个小数 3.整数和小数计算&#xff0c;结果一定是一…

LLM | 论文精读 | AAAI | EarthVQA:向可查询地球迈进的多模态视觉问答研究

论文标题: EarthVQA: Towards Queryable Earth via Relational Reasoning-Based Remote Sensing Visual Question Answering 作者: Junjue Wang, Zhuo Zheng, Zihang Chen, Ailong Ma, Yanfei Zhong 期刊: The Thirty-Eighth AAAI Conference on Artificial Intelligence (AA…

总结拓展十五:SAP物料分割评估

一、概述 在SAP中&#xff0c;物料的分割评估是指&#xff0c;对同一个物料做不同的价值设置。即&#xff0c;根据不同的条件&#xff0c;核算其价格及记录价格的相关属性。 二、物料主数据设置 1、物料主数据-会计1视图 只有价格控制“V”可以分割评估。 2、设置评估类型…

ai翻唱部分步骤

模型部署 我是用的RVC进行的训练&#xff0c;也可以使用so-vits-svc。 通过百度网盘分享的文件&#xff1a;RVC-beta 链接&#xff1a;https://pan.baidu.com/s/1c99jR2fLChoqUFqf9gLUzg 提取码&#xff1a;4090 以Nvida显卡为例&#xff0c;分别下载“RVC1006Nvidia”和…

[综述笔记]Deep learning for brain disorder diagnosis based on fMRI images

论文网址&#xff1a;Deep learning for brain disorder diagnosis based on fMRI images - ScienceDirect 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向…

HarmonyOS:UIAbility组件概述

一、概述 UIAbility组件是一种包含UI的应用组件&#xff0c;主要用于和用户交互。 UIAbility的设计理念&#xff1a; 原生支持应用组件级的跨端迁移和多端协同。支持多设备和多窗口形态。 UIAbility划分原则与建议&#xff1a; UIAbility组件是系统调度的基本单元&#xff0c…

jeecgbootvue2菜单路由配置静态文件夹(public)下的html

需求:想要在菜单配置src/assets/iconfont/chart.html显示页面(目的是打包上线以后运维依然可以修改数据) 官网没有相关数据&#xff1a;菜单配置说明 JeecgBoot 开发文档 看云 问题现象: 我把文件放在src/assets/iconfont/chart.html然后在vue中作为 iframe 的 src 属性&am…

【Vue框架】基础语法练习(1)

其实更多知识点已经在Vue.js官网十分清楚了&#xff0c;大家也可以去官网进行更细节的学习 https://cn.vuejs.org/ 说明&#xff1a;目前最新是Vue3版本的&#xff0c;但是Vue2已经深得人心&#xff0c;所以就是可以支持二者合用。它们最大的区别就是Vue3是组合式API&#xf…

爬虫学习4

from threading import Thread#创建任务 def func(name):for i in range(100):print(name,i)if __name__ __main__:#创建线程t1 Thread(targetfunc,args("1"))t2 Thread(targetfunc, args("2"))t1.start()t2.start()print("我是诛仙剑")from …

qt QScrollArea详解

1、概述 QScrollArea是Qt框架中的一个控件&#xff0c;它提供了一个可滚动的视图区域&#xff0c;用于显示超出视图大小的内容。这个控件非常有用&#xff0c;尤其是在处理大型表格、文本区域、图像集合或任何需要滚动浏览的内容时。QScrollArea本身不直接显示内容&#xff0c…

【ChatGPT】搜索趋势分析

【ChatGPT】搜索趋势分析 为了分析 ChatGPT 在过去一年的流行趋势&#xff0c;我们可以查看 Google Trends 的数据 安装依赖pytrends pip install pytrends运行以下 Python 脚本 import pandas as pd import matplotlib.pyplot as plt from pytrends.request import TrendR…

Mac如何实现高效且干净的卸载应用程序

使用Mac卸载应用程序&#xff0c;你还在使用废纸篓这个办法吗&#xff0c;看不见卸载了什么&#xff0c;看不见清理了多少&#xff0c;真的不会有残留吗 XApp Mac上的卸载专家&#xff0c;强大的垃圾逻辑检测&#xff0c;垃圾扫描更全面&#xff0c;卸载更干净 使用简单&#…

安科瑞AMB400分布式光纤测温系统解决方案--远程监控、预警,预防电气火灾

安科瑞戴婷 可找我Acrel-Fanny 安科瑞AMB400电缆分布式光纤测温具有多方面的特点和优势&#xff1a; 工作原理&#xff1a; 基于拉曼散射效应。激光器产生大功率的光脉冲&#xff0c;光在光纤中传播时会产生散射。携带有温度信息的拉曼散射光返回光路耦合器&#xff0c;耦…

GitHub上传自己的项目

目录 一、安装Git插件 1&#xff09;下载 2&#xff09;安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user]&#xff0c;下次可以直接用 一、安装Git插件 1&#xff09;下载 下载地址&#x…

Spring Boot框架

一.SpringBoot简介 1.1 设计初衷 目前我们开发的过程当中&#xff0c;一般采用一个单体应用的开发采用 SSM等框架进行开发&#xff0c;并在 开发的过程当中使用了大量的xml 等配置文件&#xff0c;以及在开发过程中使用MAVEN的构建工具来进 行构建项目&#xff0c;但是往往有…

【C++】vector 类深度解析:探索动态数组的奥秘

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 如果你对string类还存在疑惑&#xff0c;欢迎阅读我之前的作品 &#xff1a; &#x1f449;【C】string 类深度解析&#xff1a;…