4.2.2
数据文件是 dbgen 生成的
我的命令行如下:
./obloader -h ob4-peer -P 2883 -u root@test -D test --csv --table ‘xxx’ -f /go/feedback/test.xxx.1.csv
4.2.2
数据文件是 dbgen 生成的
我的命令行如下:
./obloader -h ob4-peer -P 2883 -u root@test -D test --csv --table ‘xxx’ -f /go/feedback/test.xxx.1.csv
这2个文件在哪个目录下生成啊
在{ob-loader-dumper}/logs/
2个问题
命令1 报错
./obloader -h ob4-peer -P 2883 -u root@test -D test --csv --table ‘xxx’ -f /go/feedback/test.xxx.1.csv
指定文件导入的时候我发现 insert_date 和 updated 数据文件里没有的,但是在 ob后台 insert 这2列了的,所以报错了吧?没有值不是应该插入控制或者直接插入 当前 CURRENT_TIMESTAMP 吗?为什么报错啊
inserted_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
命令2 没报错
./obloader -h ob4-peer -P 2883 -u root@test --sys-user root --sys-password 12345678 -D test --csv --table ‘xxx’ -f /go/data1/chat --direct --rpc-port 2885
但是没有导入任务数据
第一个问题:可以用 --auto-column-mapping 这个参数试试
第二个问题:obloader导入的时候需要把csv文件和表对应起来,这个对应关系是靠文件名来完成的。如果文件名和表名不匹配就会导致该问题
第一个命令行加上 --auto-column-mapping 还是报错的
表结构
| xxx | CREATE TABLE xxx
(
id
binary(16) NOT NULL,
feedback_type
enum(‘GOOD’,‘BAD’) COLLATE utf8mb4_bin NOT NULL,
feedback_tag
text COLLATE utf8mb4_bin DEFAULT NULL,
description
mediumtext COLLATE utf8mb4_bin DEFAULT NULL,
inserted_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 |
数据文件命名也是 test.xxx.1.csv
第一个问题使用–exclude-column-names col1,col2 把多出来两个列过滤掉试试
第二个需要修改一下文件名
–table abcd 那么对应的表名就需要是abcd.csv ,把test去掉改为 xxxx.1.csv
除去枚举的数据后,数据导入没问题。
为什么枚举类型的数据插入会有问题呢
建议先检查下数据feedback_type这一列的数据类型好像不匹配。
导入乱码建议查一下两边字符集是否一致呢
dbgen这边没用过,这个工具生成数据时候应该可以选择字符集的吧?
mysql -h ob4-peer -P 2883 -u root@test -D test -e ‘select * from xxx’ > a.csv
./obloader -h ob4-peer -P 2883 -u root@test -D test --csv --table ‘xxx’ -f ./a.csv
insert 进去的数据 导入出来, obloader 一样报错
到出来的数据 编码应该一致吧
使用CSV格式默认的定界符是单引号,如果要导入定界符为双引号的数据需要增加 --column-delimiter ‘"’