GBase 8a
运维管理
文章

GBase8a加载导出parquet文件

发表于2025-11-04 20:43:58162次浏览3个评论

parquet文件概述
Apache Parquet是列式数据存储格式,支持列级上数据压缩存储。
导入导出默认是utf8字符集,可以设置字符集,支持utf8、gbk、utf8mb4、gb18030。


加载:
parquet以row group为最小数据单元,多线程并发解析获取数据,加载入库。
gnode会将整个rowgroup读取到内存buffer中,并根据rowgroup实际大小动态扩展buffer大小,当rowgroup较大时,可以设置gbase_loader_buffer_count控制buffer个数(默认16),减少内存占用。rowgroup过大申请不到相应内存会报内存不够。

1. 支持LOCAL/FTP/SFTP/HDFS/S3/HTTP,不支持kafka
2. data_format 指定为 parquet 或者 9
3. 支持parquet的基础数据类型boolean、int32、int64、float、double、string、byte_array、fixed_length_byte_array、null、decimal、timestamp、time、date,不支持parquet的复合数据类型list、map。
4. 支持内部压缩的parquet文件:uncompressed/snappy/gzip/lz4/zstd/brotli,不支持通过外部其他方法对parquet文件压缩后的文件加载
5. 加载对文件后缀名没有要求,当加载后缀名为.gz/.snappy/.lzo时,需指定file_format uncompressed
6. 加载不支持错误数据溯源
7. 可正常使用的加载参数
file_list、character_set、data_format、null_value、fields preserve blanks、fields autofill、fields table_fields、max_bad_records、datetime format、date format、timestamp format、time format、trace、trace_path、nosplit、parallel、max_data_processors、skip_bad_file、set
8. 语法可带但无功能,加载报warnings的参数:
having lines separator、fields terminated by、fields enclosed by、fields length、lines terminated by
9. 加载报错,不支持的参数:
ignore_num_lines
10. file_format参数
指定uncompressed时,正常parquet文件可以正常加载
指定gzip、snappy、lzo,加载报错
指定undefined时,文件后缀为.gz、.snappy、lzo加载报错
11.加载参数说明
gbase_loader_check_parquet_fields
取值[0,1]
默认值 1
值为1时,数据库表中字段名与对应parquet文件字段名一致,加载时按列名匹配,与列顺序无关。如数据文件中存在表字段以外的字段,默认会跳过该行记录,也可通过fields table_fields参数显示指定加载字段。
值为0时,表字段正确匹配完成即视为正确数据入库
gbase_enable_julian_calendar
取值[0,1]
默认值 0
取值为0,使用格里高利历
取值为1,date类型数据使用儒略历
12. parquet默认开启分块加载,以row group为最小单位分块并行加载
13. 支持通配符方式批量加载parquet文件


示例:
load data infile 'ftp://gbase@192.168.6.6/parquetfile/test.parquet' into table parquettest data_format parquet

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 9个月前
学习。
崔哥发表于 6个月前
乔木生云气。访中兴、英雄陈迹,暗追前事。战舰东风慳借便,梦断神州故里。旋小筑、吴宫闲地。华表月明归夜鹤,叹当时、花竹今如此。枝上露,溅清泪。遨头小簇行春队。步苍苔、寻幽别坞,问梅开未。重唱梅边新度曲,催发寒梢冻蕊。此心与、东君同意。后不如今今非昔,两无言、相对沧浪水。怀此恨,寄残醉。
shepherd发表于 2个月前
闪闪发光