返回首页

gbase数据、南大通用产品文档:GBase8aORC 文件加载说明

更新日期:2024年09月11日


ORC 文件说明
orc 文件由一个个stripe 组成,
每个stripe 大小固定、
相互独立,stripe 包含三
部分:索引、数据、元数据,其中数据部分经编码、压缩后存储。
stripe
orc 文件的最小数据存储单元
stripefooter
存储stripe 的元数据
footer
存储orc 文件的stripe 信息、数据结构信息、统计信息等

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1202
postscript
存储orc 文件的基本元数据信息

ORC 文件加载入库
加载语法不变,同8a 的加载语法,如:
load
data infile
'http://gbase@192.168.6.6/orcfile/test.orc'
into table orctest
data_format
orc;
参数支持情况:
1.支持本地、ftp、sftp、http、hdfs、gbfs 等数据源,同8a 常规加载
2.可正常使用的参数:file_list、character_set、data_format、null_value、fields
preserve blanks
(fields preserve leading blanks、
fields preserve trailing blanks)

autofill、table_fields、max_bad_records、datetime format、date format、time
format、timestamp format、trace、trace_path、nosplit、max_data_processors、
skip_bad_file、set
3.语法可通过并正常执行,但实际不起作用,会报warnings 的参数:having
lines separator、
fields terminated by、
fields enclosed by、
length、
lines terminated
by、min_chunk_size
4.不支持的参数(会报错):ignore unm lines、file_format 指定gzip、snappy、
lzo 会报错,指定uncompressed/undefined 可正常加载。
5.orc 文件中如有异常数据,
loader_logs 下的xxx_orc_loader.log 中会记录异常
数据的元数据信息(包括文件名、stripe 索引、行索引等)和异常数据内容。orc
文件加载不再记录loader_logs 下错误数据文件,load_result 文件正常更新,
load_status 正常更新。
6.data_format 为orc
或者
data_format 为8
7.orc 文件加载对文件名和文件后缀无要求,但不支持gzip/snappy/lzo 对orc
的压缩文件加载
8.orc 文件加载暂不支持orc 的复合数据类型,如struct、union、list、map,
其他基础数据类型都支持。
9.orc 文件加载支持分块加载,默认加载时是开启分块加载的,指定nosplit
参数时不启用分块功能。orc 文件的分块以stripe 为最小单位分块,默认以
stripe 为单位分块加载。
10.orc 文件加载支持通配符方式批量加载,即file_list 中的orc 文件名可以部
分包含通配符*,只要有一个文件错误,加载任务终止。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1203


本示例中,提供将clob 或blob 字段数据导出为不固定长度文本文件的方法。

通过指定--blob_conf 参数,
设置将大于等于32kB 的clob 或blob 字段数据存储
在HBase 或HDFS 上,小于32kB 的clob 或blob 字段数据存储直接存储于文本文
件中。

关于clob 或blob 字段数据的存储位置,可参见--blob_conf 参数说明。

由于clob 或blob 字段中可能包含列分隔符或换行符,因此需要使用包围符。
导出方法如下:
$ ./orato8a --user='ssbm/ssbm@maya' --table_name='message' --file='./message.tbl' --format=3
--field=';' --blob_conf=orato8a.xml --string_qualifier="\x2b"
export columns: 3
export rows: 10
export time: 0 sec
process ok!
说明
通过指定--encoding 参数,设置将clob 或blob 字段数据,
以text(二进制)、base64
(base64
编码)或url(外部文件)方式存储。
$ ./orato8a --user='ssbm/ssbm@maya' --table_name='message' --file='./message.tbl'
--format=3 --field=';' --encoding=base64 --string_qualifier="\x2b"
export columns: 3
export rows: 10
export time: 0 sec
process ok!
注意
--blob_conf 参数的优先级高于--encoding,使用blob_conf 方式时,clob 或
blob 数据以二进制方式存储于文本文件、HBase 或HDFS 中。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
555

CopyManager 类简介
CopyManager 是GBase 8c 的JDBC 驱动中一个API 接口类,用于批量导入数据。