2017-01-06 9 views
2

Предположим, что в моем предварительном кластере у меня есть два источника данных HIVE и Cassandra. то есть у меня есть один каталог Hive, который подключается к источнику Hive и одному каталогу Cassandra, который подключается к источнику Cassandra. Две команды работают отдельно по каждому из них.Можем ли мы иметь более одного рабочего процесса для престо?

Если обе команды параллельно представляют отдельные запросы, работник будет создавать задачи для каждого запроса. Как и в престо для каждого рабочего рабочего, создайте новый поток, который означает, что задачи обоих запросов находятся в одной JVM (куче). Поскольку обе команды хотят, чтобы их данные были очень безопасными, они хотят изолировать память для своих задач (они не хотят рисковать инъекцией кода).

Есть ли способ, чтобы все задачи каждого источника выполнялись в отдельной JVM (кучи). Я имел в виду, мы можем запустить более одного рабочего процесса: каждый для каждого источника данных? Как какая-то рабочая группа или что-то еще.

PS.Не эксперт в области presto.just, изучающий сейчас.

ответ

2

Нет никакого способа сделать это, но работа вокруг проста; просто запустите два кластера.

+0

У нас есть один большой кластер престо, и мы хотим использовать presto для одного нового приложения. Поскольку данные в новом приложении защищены, и мы не можем использовать кучу для этого приложения, поэтому мы хотим изолировать память для приложения. Короче говоря, мы не можем иметь 2 кластера. Есть ли другая работа для этой ситуации только с одним кластером? –

+1

Я не уверен, как это возможно в любой системе, если вы не запускаете отдельные процессы для каждого запроса. Даже тогда вы не «обеспечили» много. В Presto есть общее пространство процессов, но запросы не делят «данные» (для этого нет возможности), поэтому, предполагая, что вы правильно защитили свой кластер, нет проблем. Вот как мы управляем вещами в Facebook. –