#scala #apache-spark #aws-glue #aws-glue-data-catalog
Вопрос:
Итак, у меня есть папка S3 с несколькими вложенными папками, действующими как разделы (в зависимости от даты создания). У меня есть таблица клея для этих разделов, и я могу просматривать данные с помощью Athena.
Запустив задание склеивания и пытаясь получить доступ к каталогу, я получаю следующую ошибку:
HadoopDataSource: Skipping Partition {} as no new files detected @ s3:...
Линия, которая вызывает у меня проблемы, заключается в следующем:
glueContext.getCatalogSource(database = "DB_NAME", tableName = "TABLE_NAME", redshiftTmpDir = "", transformationContext = "datasource0").getDynamicFrame().toDF()
Я хочу в любой момент получить доступ ко всем данным в этих подпапках S3, поскольку они регулярно обновляются.
Я думаю, что проблема в том, что закладка задания клея не обнаруживает новых файлов, но это выполняется не непосредственно как часть задания, а как часть библиотеки, используемой заданием.
Удаление «transformationContext» или изменение его значения на пустое не сработало.
Ответ №1:
Таким образом, вывод Hadoop, который вы получаете, — это не ошибка, а просто простое сообщение о том, что раздел пуст.
Но раздел, который регистрируется {}
, кажется, выключен. Вы можете это проверить?
Кроме того, не могли бы вы запустить задание с отключенной закладкой, чтобы убедиться, что это не является причиной проблемы?
Я также обнаружил эту нерешенную проблему с GitHub, возможно, вы тоже можете прокомментировать ее, чтобы эта проблема привлекла некоторое внимание.
Комментарии:
1. Я не знаю, как отключить закладку в библиотеке.
2. Ты не можешь. Разве у вас нет доступа к рабочей среде?
3. Не для того, что мне нужно. Если я не смогу сделать это из библиотеки, мне придется переделать несколько вещей. Прямо сейчас я пытаюсь протестировать его с помощью конечной точки разработки.
4. Я почти уверен, что отключить закладку внутри скрипта невозможно. Просто проверил переменные конфигурации среды Spark / Glue, и закладки там нет.