Я пытаюсь ввести несколько операторов вставки в PutHiveQL с помощью процессора ReplaceText. Каждый оператор insert является файлом потока, выходящим из ReplaceText. Я установил пакет в PutHiveQL равным 100. Однако, похоже, он по-прежнему отправляет ему 1 файл потока за раз. Как лучше всего реализовать эту партию?Как работает PutHiveQL в пакетном режиме?
ответ
Я не думаю, что процессор PutHiveQL пакетные заявления на уровне JDBC, как вы ожидаете, не так, как это делают процессоры, такие как PutSQL. From the code, похоже, что свойство Batch Size используется для управления количеством потоков, над которыми процессор работает, прежде чем уступить, но операторы для каждого файла потока все еще выполняются индивидуально.
Это может быть хорошей темой для NiFi feature request.
Версия Hive, поддерживаемая NiFi, не допускает докетирования/транзакций. Параметр «Размер партии» предназначен для того, чтобы попытаться переместить несколько файлов входящих потоков немного быстрее, чем частое обращение к процессору. Поэтому, если вы планируете процессор PutHiveQL каждые 5 секунд с размером партии 100, то каждые 5 секунд (если есть 100 файлов потока в очереди) процессор будет пытаться обрабатывать их во время одного сеанса.
В качестве альтернативы вы можете указать размер партии 0 или 1 и запланировать ее так быстро, как вам нравится; к сожалению, это не повлияет на сторону улья, поскольку оно автоматически компилирует каждую инструкцию HiveQL; версия Hive не поддерживает транзакции или пакетную обработку.
Другой (возможно, более производительный) альтернатива поставить весь набор строк в виде CSV-файла в HDFS и использовать оператор HiveQL «LOAD DATA» DML для создания таблицы в верхней части данных: https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-DMLOperations
- 1. Как избежать `! $` В пакетном режиме?
- 2. Сравнение строк в пакетном режиме не работает
- 3. Запрос в пакетном режиме?
- 4. R в пакетном режиме
- 5. Anylogic в пакетном режиме?
- 6. Как объединить массив в пакетном режиме?
- 7. Как читать из файла в пакетном режиме?
- 8. Emacs htmlize в пакетном режиме?
- 9. Элементы запуска в пакетном режиме
- 10. переименовывать файлы в пакетном режиме
- 11. Создание методов в пакетном режиме?
- 12. нагрузки в пакетном режиме список
- 13. Gimp Python в пакетном режиме
- 14. Меню выбора в пакетном режиме?
- 15. запустить Matlab в пакетном режиме
- 16. Удаление папок в пакетном режиме?
- 17. Как определить текущего пользователя в пакетном режиме?
- 18. Как связать ключ в пакетном режиме?
- 19. Как вернуть элемент массива в пакетном режиме?
- 20. Как сменить каталог в пакетном режиме?
- 21. Как установить переменные буквально в пакетном режиме?
- 22. Как перезаписать существующие файлы в пакетном режиме?
- 23. Как заставить ПК работать в пакетном режиме?
- 24. Как убить задачу в пакетном режиме?
- 25. Как передать несколько параметров в пакетном режиме?
- 26. Как вызвать мастера затмения в пакетном режиме?
- 27. получить два слова ввода в пакетном режиме не работает
- 28. инструкция infile не работает в пакетном режиме SAS
- 29. Почему этот приращение не работает в пакетном режиме?
- 30. Почему не работает второй вызов в пакетном режиме?