2015-05-20 1 views
1

Я столкнулся с ситуацией, когда я хотел бы выполнить «поиск» в конвейере Spark и/или Spark Streaming (на Java). Поиск несколько сложный, но, к счастью, у меня есть некоторые существующие Spark-конвейеры (потенциально DataFrames), которые я мог бы повторно использовать.Возможно ли получить и использовать JavaSparkContext из задачи?

Для каждой входящей записи я хотел бы потенциально запустить искру задания из задачи, чтобы получить необходимую информацию, чтобы украсить ее.

С учетом последствий для работы, будет ли это хорошей идеей?

Не считая последствий для работы, возможно ли это?

ответ

1

Возможно ли получить и использовать JavaSparkContext из задачи?

№. Искры контекста действительны только для водителя, и Spark предотвратит его сериализацию. Поэтому невозможно использовать контекст Spark из задачи.

Для каждой входящей записи, я хотел бы, чтобы потенциально начать работу искровой от задачи, чтобы получить необходимую информацию, чтобы украсить его. Учитывая влияние производительности, будет ли это когда-нибудь хорошей идеей ?

Без получения более подробной информации, мой зонтик ответ был бы: Вероятно, не очень хорошая идея.

Не считая последствий для исполнения, возможно ли это?

Да, вероятно, в результате чего основной коллекции драйверу (collect) и итерацию над ним. Если эта коллекция не соответствует памяти драйвера, пожалуйста, используйте предыдущую точку.

Если нам нужно обработать каждую запись, подумайте о том, чтобы выполнить какую-либо форму join с набором данных «украшение» - это будет только 1 большая работа вместо тонны маленьких.