Можем ли мы сделать инъекцию боба в свинью UDF - PullRequest
0 голосов
/ 19 апреля 2020

Я использую Spring Boot в своем проекте, который запускает сценарий Pig. Я определил свинью UDF. Интересно, смогу ли я добавить бин в этот класс UDF? Класс UDF выглядит примерно так: UDF, который работает сейчас, выглядит следующим образом:

public class MyUDF extends EvalFunc<String> {
    public String exec(Tuple input) throws IOException {
        final ClassA instanceA = new ClassA();
        return instanceA.func(input);
    }
}

Интересно, могу ли я оставить экземпляр instanceA для подпружиненного контейнера? Я попытался

public class MyUDF extends EvalFunc<String> {

    @Autowired
    private final ClassA instanceA;

    public String exec(Tuple input) throws IOException {
        return instanceA.func(input);
    }
}

, а также определил конструктор, но ни один из этих двух методов не работает. Это потому что это instanceA должно быть c?

Есть ли способ использовать фабрику Bean в Pig UDF?

...