longblob 类型数据加载方法分为两种,一种是数据形式的加载,一种是文件形式 的加载。加载该类型数据时,需要在table_fields 参数中对longblob 列指定 type_text、type_base64、type_url 参数,指定方法如下: GBase 8a MPP Cluster 产品手册 5 数据库管理指南 文档版本953(2022-09-15) 南大通用数据技术股份有限公司 1202 数据形式,需要加载的数据文件内含有longblob 类型数据。 gbase>load data infile ‘http://192.168.6.39/test.tbl’ into table data_test fields terminated by ‘|’ table_fields ‘a,b,c type_text,d’; SQL 中test.tbl 是需要加载的文件,test.tbl 内含有longblob 数据。 1)数据未经任何编码, 在SQL 内需要通过table_fields 对longblob 列指定 type_text 参数。例如: 建表语句: CREATE TABLE data_test (column_1 INT, column_2 VARCHAR(10), column_3 LONGBLOB, column_4 VARCHAR(10)); 数据文件: 123|eqwerqwee|asdfsacq|adfasdfaa 234|qreqwerqw|sfwrwers|asfdasdfa 加载过程: gbase>LOAD DATA INFILE ‘http://192.168.6.39/test.tbl’ INTO TABLE data_test FIELDS TERMINATED BY ‘|’TABLE_FIELDS ‘column_1, column_2, column_3 type_text, column_4’; Query OK, 2 rows affected (Elapsed: 00:00:00.11) Task 13 finished, Loaded 2 records, Skipped 0 records 查询入库数据: gbase> SELECT * FROM test.data_test; +------+-----------+----------+-----------+ |column_1 | column_2 | column_3 | column_4 | +------+-----------+----------+-----------+ | 123 | eqwerqwee | asdfsacq | adfasdfaa | | 234 | qreqwerqw | sfwrwers | asfdasdfa | 2 rows in set 2)longblob 数据为base64 格式编码,在SQL 内需要通过table_fields 对 longblob 列指定type_base64 参数。例如: 建表语句: CREATE TABLE data_test (column_1 INT, column_2 VARCHAR(10), column_3 LONGBLOB, column_4 VARCHAR(10)); 数据文件: 123|eqwerqwee| PQEWIIAZX==|adfasdfaa 234|qreqwerqw| PQEWIIAZX==|asfdasdfa 加载过程: gbase> LOAD DATA INFILE 'http://192.168.6.39/test.tbl' INTO TABLE data_test FIELDS TERMINATED BY '|' TABLE_FIELDS 'column_1, column_2, column_3 type_base64, column_4'; Query OK, 2 rows affected (Elapsed: 00:00:00.11) Task 14 finished, Loaded 2 records, Skipped 0 records GBase 8a MPP Cluster 产品手册 5 数据库管理指南 文档版本953(2022-09-15) 南大通用数据技术股份有限公司 1203 查询入库数据: gbase> SELECT * FROM test.data_test; +----------+-----------+----------+-----------+ | column_1 | column_2 | column_3 | column_4 | +----------+-----------+----------+-----------+ | 234 | qreqwerqw | = c ® | asfdasdfa | | 123 | eqwerqwee | = c ® | adfasdfaa | +----------+-----------+----------+-----------+ 2 rows in set 文件形式 longblob 文件加载方法如下所示: gbase>Load data infile ‘http://192.168.6.39/test.tbl’ into table data_test fields terminated by ‘|’ table_fields ‘a,b,c type_url,d’; test.tbl 内longblob 列书写要加载的longblob 文件路径, 可以是绝对路径 (如: http/ftp/sftp/hdp 协议类型),也可以是相对路径。 SQL 中test.tbl 是需要加载的文件,下例中test_url.jpg、test_url_1.jpg、 test_url_2.jpg 为longblob 文件,指向test_url.jpg 的路径为绝对路径;指向 test_url_1.jpg、test_url_2.jpg 的为相对路径。test_url_1.jpg 与test.tbl 在同一目 录下,test_url_2.jpg 位于test 文件夹(该文件夹与test.tbl 在同一目录下)下。 加载以上jpg 文件时,需要在test.tbl 中的longblob 列书写指向文件的路径, 如: 123|eqwerqwee|http://192.168.6.11/test_url.jpg |adfasdfaa 234|qreqwerqw|test_url_1.jpg |asfdasdfa 234|qreqwerqw|./test_url_1.jpg |asfdasdfa 123|qwerwesqw|test/test_url_2.jpg |xcvb