服务器: 3FE , 6个BE(16core * 64G ) 磁盘SSD
一张144W的数据,字段313个,hive表数据存储hdfs orc格式 。
broker load时间开销22分钟 !!! 另外也有2亿的表 百来个字段全量同步也才20分钟左右。
broker load相关参数为SR默认参数,因为load任务并发在25左右,load任务约为1200个左右,大概有五六个模型存在这种问题
服务器: 3FE , 6个BE(16core * 64G ) 磁盘SSD
一张144W的数据,字段313个,hive表数据存储hdfs orc格式 。
broker load时间开销22分钟 !!! 另外也有2亿的表 百来个字段全量同步也才20分钟左右。
broker load相关参数为SR默认参数,因为load任务并发在25左右,load任务约为1200个左右,大概有五六个模型存在这种问题
看起来是读取HDFS太慢了
可能是小文件太多,也可能是我们处理的问题
你是什么版本?你可以通过创建Hive外表,然后insert into select * from hive_external 看下需要耗时多久么?
作了租户分区 所以文件数600多个,用的是SR 2.3.1
672个也不算多
这是你们正在处理的那个问题么? 大概什么版本修复?
我找我们的同学跟进下
能提供一下这个导入时间段的fe日志吗
load信息
这个导入慢是稳定复现吗,你修改一下FE的配置min_bytes_per_broker_scanner= 16777216试一下导入时间有什么变化。
稳定的,每次都差不多这个时间, 这个值放成16M 会不会对其他的load有影响,两千多个任务 就只有几个会比较慢。
基本没有影响,如果有其他环境可以在其他环境里验证,感觉和数据集有关。也可以在没有其他导入的时候单独建个表验证一下。
大佬,这还是因为小文件的问题么? 另外还有提升空间么? 外部表只要九秒, broker这里还是慢了些, 或者是不是还可以将这个参数再放小点?
你可以直接使用外表的方式进行导入么?
之前测试外部表用久了会有GC问题,才转成load方式没多久,另外如果用外部表如果我基于分区做过滤条件这个条件会下沉到hdfs文件过滤上去么? 因为会存在多线程同时操作一张表的场景。