CountBatch
产品支持情况
功能介绍
CountBatch功能是指基于UDF为计算处理点将多个数据按batch_size组成batch。
该功能应用于DataFlow异步场景,具体如下。
- 长时间没有数据输入时,可以通过CountBatch功能设置超时时间,如果没有设置padding,超时后取当前已有数据送计算处理点处理。
- 设置超时时间后,如果数据不满batch_size时,可以通过CountBatch功能设置padding属性,计算点根据padding设置对数据进行填充到batch_size后输出。
使用方法
用户在DataFlow构图时通过给FlowNode的输入设置属性来添加CountBatch功能。示例如下。
CountBatch count_batch = {};
// 按需求设置count_batch中各属性的值
count_batch.timeout = 10;
count_batch.batch_size = 300;
count_batch.padding = true;
count_batch.slide_stride = 5;
DataFlowInputAttr flow_attr = {DataFlowAttrType::COUNT_BATCH, &count_batch};
std::vector<DataFlowInputAttr> flow_attrs = {flow_attr};
// 通过FlowNode的MapInput设置
FlowNode::MapInput(xx, xx, xx, flow_attrs);
|
||
使用注意事项
当前Batch特性无法做负荷分担,因此如果使用2P环境,需要在ge初始化时添加{"ge.exec.logicalDeviceClusterDeployMode", "SINGLE"}, {"ge.exec.logicalDeviceId", "[0:0]"}。