Будет ли запрос из Spark hivecontext блокировать таблицу куста?

Я знаю, что если я отправлю запрос из Hive, будет получена общая блокировка, а затем таблица Hive будет заблокирована запросом: https://cwiki.apache.org/confluence/display/Hive/Locking

Поэтому мне просто интересно, если запрос выполняется Spark Hivecontext, потребуется ли блокировка и будет ли заблокирована таблица? Кроме того, если я вставлю данные в таблицу через Spark Hivecontext, потребуется ли монопольная блокировка?

Спасибо


person JerryLi    schedule 09.03.2017    source источник
comment
Хороший вопрос. Hive Metastore API предоставляет такие методы, как MetaStoreClient.lock(LockRequest), возвращающий LockResponse (см. hive.apache.org/javadocs/r2.1.1/api/index.html?org/apache/), но на первый взгляд кодовая база Spark не используйте ни LockRequest, ни LockResponse. Поэтому я предполагаю, что Spark может быть заблокирован запросом Hive (см. stackoverflow.com/questions/42421883/), но Spark не будет блокировать сам по себе.. .   -  person Samson Scharfrichter    schedule 10.03.2017
comment
... если вы сами не запросите блокировку с помощью явной команды LOCK TABLE (см. stackoverflow.com/questions/36474638/)   -  person Samson Scharfrichter    schedule 10.03.2017
comment
Кстати, вы можете проверить это самостоятельно: откройте сеанс Hive, запустите задание Spark в другой консоли и, пока Spark загружает данные, запустите команды SHOW LOCKS в Hive. Возможно, Spark управляет блокировками, обращаясь к ZooKepper напрямую, без использования API MetaStore, но я в этом сомневаюсь.   -  person Samson Scharfrichter    schedule 10.03.2017


Ответы (1)