Требуется ли для Hive ORC ACID в Hive 3 TEZ, если не используется Map Reduce?

Насколько я понимаю, с Hive 3 таблица HIVE ORC ACID, использующая MERGE, также требует как минимум TEZ в качестве основного механизма выполнения, если не используется Map Reduce или механизм Spark для Hive. На самом деле я не уверен, что HIVE MERGE, update, delete работают с Spark Engine.

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

И выделенное курсивом и жирным шрифтом заявление из https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-version-release с указанием полной транзакционной функциональности, я не могу следить, так как не знал, что SPARK может обновлять, удалять на HIVE ORC КИСЛОТА (пока):

Apache Spark

Apache Spark получает обновляемые таблицы и транзакции ACID с помощью Hive Warehouse Connector. Коннектор Hive Warehouse Connector позволяет регистрировать транзакционные таблицы Hive в качестве внешних таблиц в Spark для доступа ко всем функциональным возможностям транзакций. Предыдущие версии поддерживали только манипуляции с разделами таблицы. Коннектор Hive Warehouse также поддерживает Streaming DataFrames для потокового чтения и записи в транзакционные и потоковые таблицы Hive из Spark.

Исполнители Spark могут напрямую подключаться к демонам Hive LLAP для извлечения и обновления данных транзакционным способом, что позволяет Hive сохранять контроль над данными.

Apache Spark в HDInsight 4.0 поддерживает следующие сценарии:

Запустите обучение модели машинного обучения на той же транзакционной таблице, которая используется для отчетов. Используйте транзакции ACID для безопасного добавления столбцов из Spark ML в таблицу Hive. Запустите задание потоковой передачи Spark для канала изменений из таблицы потоковой передачи Hive. Создавайте файлы ORC непосредственно из задания структурированной потоковой передачи Spark. Вам больше не нужно беспокоиться о случайной попытке доступа к транзакционным таблицам Hive непосредственно из Spark, что приведет к несогласованным результатам, дублированию данных или повреждению данных. В HDInsight 4.0 таблицы Spark и таблицы Hive хранятся в отдельных хранилищах метаданных. Используйте Hive Data Warehouse Connector, чтобы явно зарегистрировать транзакционные таблицы Hive как внешние таблицы Spark.


person thebluephantom    schedule 04.12.2019    source источник


Ответы (1)


Вышеупомянутое выделенное полужирным курсивом утверждение неверно.

https://issues.apache.org/jira/browse/SPARK-15348 четко указано, что Spark не допускает обработку КИСЛОТЫ ORC HIVE.

MR исчезает на различных облачных платформах, и TEZ теперь является движком по умолчанию, поэтому sqoop и Hive ORC ACID используют его, и, следовательно, TEZ по крайней мере требуется.

NB: Я задал этот вопрос только потому, что во время моего последнего задания это обсуждение исходило от людей «наверху».

person thebluephantom    schedule 15.12.2019