Для вашего первого вопроса:
Ближайшая вещь, которую вы получите при "вызове perl-скрипта из pig" - это Потоковая возможность Pig .Пример из документации:
A = LOAD 'data';
B = STREAM A THROUGH 'stream.pl -n 5';
Вы должны убедиться, что ваш Perl-скрипт принимает данные через stdin и выводит данные через stdout.Это способ, которым Pig передает данные через ваш звонок.Я не уверен, какой формат данных должен ожидать сценарий, входящий и выходящий (возможно, вам придется попробовать пример).
Для вашего второго вопроса:
Запуск сценария pig внутри perlаналогично запуску любой внешней команды оболочки через perl. Посмотрите этот урок. Пример:
system("pig myjob.pig");