Как выполнить модульное тестирование сценариев AWS Glue с использованием pytest, динамических фреймов и фреймов данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить модульное тестирование сценариев AWS Glue с использованием pytest, динамических фреймов и фреймов данных?

Сообщение Anonymous »

Я хочу провести модульное тестирование своих скриптов AWS Glue. Я использую Python и Pyspark. Я хочу объединить функции модульного тестирования, использующие динамические фреймы и фреймы данных. Мне не нужно взаимодействовать с AWS или передавать данные на AWS. По сути, я хочу утверждать, что содержимое фреймов соответствует этим небольшим тестируемым функциям.
Я надеялся настроить приспособление pytest, которое будет сеансом Spark с GlueContext. Я надеялся, что смогу сделать это, просто используя зависимости Python, например. pyspark и awsglue-dev, но у меня возникают проблемы.
Моя программа conftest выглядит так:

Код: Выделить всё

@pytest.fixture(scope="session")
def spark_context():
spark_ctx = SparkContext.getOrCreate()
spark_ctx.setLogLevel("WARN")
return spark_ctx

@pytest.fixture
def glue_context(spark_context):
glue_ctx = GlueContext(spark_context)
return glue_ctx
Ошибки, которые я получаю, выглядят следующим образом:

Код: Выделить всё

test setup failed
spark_context = 

@pytest.fixture
def glue_context(spark_context):
>       glue_ctx = GlueContext(spark_context)
if min_partitions is None:
>           return self._jvm.GlueContext(self._jsc.sc())
E           TypeError: 'JavaPackage' object is not callable
Кто-нибудь может подсказать, в чем здесь проблема? Должна ли моя локальная настройка разработки/тестирования AWS Glue отличаться или быть чем-то большим, чем просто установка зависимостей Glue и PySpark через PDM/PyPi?
Спасибо,
Сэм

Подробнее здесь: https://stackoverflow.com/questions/792 ... ata-frames
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»