GBase 8a集群Blob longblob text大字段类型的加载,可以通过指定type_text,type_base64,type_url几个方式进行加载入库。
1、在862Build20和以前版本,默认最高支持32K。 所以你可以将大字段数据直接放在原始数据里即可。
2、之后版本支持64M, 支持如下集中方式加载入库
type_text 数据包含在原始数据里面,适合内容较少的文本
type_base64 数据base64编码后,包含在原始数据内。 适合内容较少的二进制数据。
type_url 通过外部URL方式指定数据位置,适合内容较大的数据
由于默认GBase加载时默认一行数据最大为4M, 所以在不特意修改的情况下,请根据数据情况选择合适的加载方式。
加载时,通过在table_fields里面指定方式:
table_fields ‘a,b,c type_text,d’
表示c列 通过内嵌text方式加载大字段
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';
load data infile 'http://192.168.6.39/test.tbl' into table data_test fields terminated by '|' table_fields 'a,b,c type_base64,d';
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';
文件路径,可以是绝对路径(如: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列书写指向文件的路径,如:
234|qreqwerqw|test_url_1.jpg |asfdasdfa
234|qreqwerqw|./test_url_1.jpg |asfdasdfa
123|qwerwesqw|test/test_url_2.jpg |xcvb
123|qwerwesqw|http://xxx/test_url_2.jpg |xcvb