检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用开源Kettle导入数据 Kettle是一款开源的ETL工具,通过Kettle工具可以完成数据的抽取、转换、装入和加载。 海量数据搬迁场景下,使用Kettle自身提供的数据入库插件,入库速度在1500条/秒左右,数据搬迁耗时较高。而相同运行环境下,使用集成dws-client
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
DWS需要绑定公网IP后才能与Kettle连接使用。 Kettle和云数据迁移(Cloud Data Migration,简称CDM)都适用于批处理场景,当数据量或表数量较小时,推荐使用kettle,反之使用CDM。 支持从数据库导出数据到文件,也支持将数据导入到数据库。 Kettle可通过建立触
字符类型 GaussDB(DWS)支持的字符类型请参见表1。字符串操作符和相关的内置函数请参见字符处理函数和操作符。 表1 字符类型 名称 描述 长度 存储空间 CHAR(n) CHARACTER(n) NCHAR(n) 定长字符串,不足填充空格。 n是指字节长度,如不带精度n,默认精度为1。n小于10485761。
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
根据字符集,字符类型如果为gbk,每个字符占用2个字节;字符类型如果为utf8,每个字符最多占用3个字节。根据转换规则,同样的字段长度,会导致GaussDB(DWS)出现字段超长的问题。 处理方法 假设MySQL字段为varchar(n),则将GaussDB(DWS)对应的字段长度设置为varchar(n*3)即可。
(1 row) 设置数据库的字符集编码 GaussDB(DWS)不支持修改已创建数据库的字符编码格式。 如果需要指定数据库的字符集编码格式,可按照下面的CREATE DATABASE语法格式,使用template0新建一个数据库。为了适应全球化的需求,使数据库编码能够存储与表示绝
characters]) 从字符串string的指定位置删除只包含characters中字符(缺省为空格)的最长的字符串。 从字符串string的指定位置删除只包含characters中字符(缺省为空格)的最长的字符串。 从字符串string的指定位置删除等于characters的字符串(缺省为空格)。
字符处理函数和操作符 GaussDB(DWS)提供的字符处理函数和操作符主要用于字符串与字符串、字符串与非字符串之间的连接,以及字符串的模式匹配操作。 ascii(string) 描述:参数string的第一个字符的ASCII码。 返回值类型:integer 示例: 1 2 3 4
最大18字节限制。 当表中某一字段包含有中文字符时,可使用char_length或length函数来查询字段字符长度,使用lengthb函数来查询字段字节长度。 1 2 3 4 5 SELECT length('数据库database'); length --------
字符类型 GaussDB(DWS)支持的字符类型请参见表1。字符串操作符和相关的内置函数请参见字符处理函数和操作符。 表1 字符类型 名称 描述 长度 存储空间 CHAR(n) CHARACTER(n) NCHAR(n) 定长字符串,不足填充空格。 n是指字节长度,如不带精度n,默认精度为1。n小于10485761。
注释 MySQL支持由 '#' 或 '--' 字符引起的单行注释,而GaussDB(DWS)仅支持由双破折号 '--' 字符引起的单行注释。DSC工具迁移时会将 '#' 转化为 '--' 注释。 输入示例 1 2 3 4 5 6 7 ## comment sample create
unt抽取的字符长度用n来表示。 s=0时存在兼容行为差异。 表2 substr()与ORA、TD和MySQL兼容模式行为 参数场景 ORA兼容 TD兼容 MySQL兼容 s > 0 从第s个字符位置开始,截取n个字节 从第s个字符位置开始,截取n个字符 从第s个字符位置开始,截取n个字符
数据库管理 DSC工具迁移时会将MySQL SET CHARACTER SET语句迁移为SET SESSION NAMES。字符集对照如下表: 表1 字符集对照表 MySQL CHARACTER SET GaussDB(DWS) SESSION NAMES ASCII SQL_ASCII
二进制字符串函数和操作符 SQL定义了一些二进制字符串函数,这些函数使用关键字而不是逗号来分隔参数。另外,DWS提供了函数调用所使用的常用语法。 octet_length(string) 描述:二进制字符串中的字节数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT
字符处理函数和操作符 GaussDB(DWS)提供的字符处理函数和操作符主要用于字符串与字符串、字符串与非字符串之间的连接,以及字符串的模式匹配操作。 bit_length(string) 描述:字符串的位数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT
t1; 双引号 MySQL中常量字符串用双引号扩住,GaussDB(DWS)不支持,DSC迁移改为单引号。 输入示例 1 select name from t1 where name = "test2"; 输出示例 1 2 3 4 5 6 SELECT name FROM
wWw.",返回string字符串"www.wWw.cloud.wWw.com"中第2次出现delimiter分隔符之前的子串"www.wWw.cloud"。 1 2 3 4 5 SELECT SUBSTRING_INDEX('www.wWw.cloud.wWw.com', '.wWw