2016-11-04 2 views
0

기존 데이터 흐름 파이프 라인 옵션의 기본값을 무시하고 싶습니다. 예를 들어,이기존 데이터 흐름 파이프 라인 옵션의 기본값을 재정의하는 방법

public interface MyOptions extends DataflowPipelineOptions { 
    // Common options here. 
    @Override 
    @Default.Class(DataflowPipelineRunner.class) 
    Class<? extends PipelineRunner<?>> getRunner(); 
} 

... 

MyOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().as(MyOptions.class); 

같은 시도하지만이 작동하지 않습니다. 기존 옵션의 기본값을 무시할 수있는 방법이 있습니까?

답변

1

내가 아는 한, 설명 된 양식에서는 불가능합니다. 사용자 정의 기본값을 사용하여 "중간"사용자 정의 인수를 통해 이와 유사한 작업을 수행 할 수 있습니다.

public interface MyOptions extends PipelineOptions { 
    @Default.Class(DataflowPipelineRunner.class) 
    Class<? extends PipelineRunner<?>> getMyRunner(); 
} 

PipelineOptions options = PipelineOptionsFactory.fromArgs(args).withValidation(); 
options.as(DataflowPipelineOptions.class).setRunner(
    options.as(MyOptions.class).getMyRunner()); 
관련 문제