Похоже, вам не хватает пакета Avro. Spark записывает кадр данных в S3 в формате Avro, а затем загружает эти данные в Redshift.
Вышеупомянутая ошибка была решена очень в последнее время добавлением поддержки имени файла Unicode в соответствии с Windows. Выпуск, показывающий фиксацию, будет доступен в CPAN в течение недели.
Хотя в документации модуля говорятся некоторые глупые вещи о Windows, текущим специалистом по обслуживанию является Adam Kennedy, тот же парень, который принес Вам Земляничный Perl. Он - определенно не анти-Windows. Он выпустил октябрь версии, таким образом, они работают над ним. Существует также открытое предоставление от Основы Perl для фиксации Архива:: ошибки Извлечения. Ошибка Вы упоминаете, RT 35334: Кодирование Имени файла Архивом:: Zip, возможно, просто потребности кто-то, чтобы показать ему некоторую любовь. Это могло быть Вами. Люди решают проблемы, которые беспокоят их, поэтому возможно, никто просто еще не заинтересовал потребностями модуля это.
Модуль имел проблемы, и я следовал за его прогрессом, так как я использую его в паре проектов. Это стало намного лучше недавно и может, конечно, использовать некоторую любовь. Иногда открытый исходный код означает помогать решить проблемы, с которыми Вы встречаетесь. Я знаю, что это не помогает Вам сразу решить свою проблему, но это - то, как я думаю, что Вы собираетесь сделать это кроме system()
вызовы.
Вы могли попробовать Архив стандартного распределения:: Извлечение. Это не может быть немного лучше, чем Архив:: Zip, но документация говорит, что, если существуют проблемы, она идет под капотом, чтобы попытаться использовать инструменты командной строки в Вашей системе для разархивации файла. Это является, вероятно, самым устойчивым на Unix, но Windows имеет утилиту архива zip, и это должно быть доступно через командную строку. Плюс, Архив:: Извлечение может обработать много других типов сжатия (теоретически).
Конечно, может оказаться что Архив:: Извлечение просто выясняет, какое сжатие использование файла и затем передает его соответствующей другой библиотеке, которая могла бы быть Архивом:: Zip.
Вы могли бы также попробовать IO:: Распакуйте:: Разархивируйте и это - дубликат, IO:: Сжатие:: Zip, для того, чтобы просто разархивировать, читать и повторно архивировать. Если абсолютно необходимо. Снова, я не знаю, насколько лучше они будут работать, но они - вся часть стандартной библиотеки.