Очень плохая идея совершать вызовы внешним службам из-за работы по сокращению карты. Причина в том, что при работе на кластере ваши задания очень масштабируемы, тогда как внешняя система может быть не такой. Современные менеджеры ресурсов, такие как YARN, делают эту ситуацию еще хуже, когда вы загружаете внешнюю систему с запросами, ваши задачи в кластере будут в основном спать, ожидая ответа с сервера. Менеджер ресурсов увидит, что ЦП не используется задачами, и планирует выполнение большего числа ваших задач, что сделает еще больше запросов к внешней системе, и еще больше заманивает их. Я видел скромный 100 машинных кластеров, из которых 100 тыс. Запросов в секунду.
Что вы действительно хотите сделать, так или иначе получить массовые данные из веб-службы или настроить систему с очередью и несколькими контролируемыми числами работников, которые будут извлекать из внешней системы с установленной скоростью.
Что касается вашего оригинального вопроса, я не думаю, что PigLatin предоставляет такую услугу, но его можно легко сделать с помощью UDF либо Python, либо Java. С Python вы можете использовать отличную библиотеку requests, которая сделает ваш UDF примерно 6 строк кода. Java UDF будет немного более подробным, но ничего страшного со стандартами Java.
Большое спасибо @ Vlad, я исследую библиотеку запросов Python, как вы предлагаете. – Jon295087