*
* @param level
* 0: 設定可能な最適化を全て行わない、1: デフォルト、2~: 最適化を積極的に行う
*/
public void setOptimize(int level) {
FlowCompilerOptions options = driverContext.getOptions();
if (level <= 0) {
options.setCompressConcurrentStage(false);
options.setCompressFlowPart(false);
options.setHashJoinForSmall(false);
options.setHashJoinForTiny(false);
options.setEnableCombiner(false);
} else if (level == 1) {
options.setCompressConcurrentStage(FlowCompilerOptions.Item.compressConcurrentStage.defaultValue);
options.setCompressFlowPart(FlowCompilerOptions.Item.compressFlowPart.defaultValue);
options.setHashJoinForSmall(FlowCompilerOptions.Item.hashJoinForSmall.defaultValue);
options.setHashJoinForTiny(FlowCompilerOptions.Item.hashJoinForTiny.defaultValue);
options.setEnableCombiner(FlowCompilerOptions.Item.enableCombiner.defaultValue);
} else {
options.setCompressConcurrentStage(true);
options.setCompressFlowPart(true);
options.setHashJoinForSmall(true);
options.setHashJoinForTiny(true);
options.setEnableCombiner(true);
}
}