REPL with Glue + Zeppelin - это медленно - ожидается?

Я проверяю Glue в качестве замены нашего ETL-конвейера и противостою некоторым потенциальным препятствиям в миграции благодаря скорости, производительности и интерактивности процесса REPL при разработке преобразований.

Среда:

  • Подтверждение концепции для одного CSV-файла, сжатого и сохраненного в корзине s3.
  • Сжатый этот файл 458 МБ. Несжатый этот файл составляет 3,4 ГБ. Я тестирую трансформации, используя рекомендованный подход ноутбука Zeppelin, работающего на конечной точке разработчика Glue

Замечания:

Создание простой карты в новый столбец и подсчет строк по этому набору данных занимает больше времени, чем я ожидал:

%pyspark
def normalize_fields(dynamicRecord):
    # medium
    if dynamicRecord['app_id'] is None:
        dynamicRecord['medium'] = 2
    elif dynamicRecord['app_id'].lower() == 'unknown' or dynamicRecord['app_id'].lower() == '_unknown':
        dynamicRecord['medium'] = 0
    elif dynamicRecord['app_id'] is not None:
        dynamicRecord['medium'] = 1
    else:
        dynamicRecord['medium'] = 0
calculated1 = Map.apply(frame=impressions_datasource0,
                        f=normalize_fields, transformation_ctx="calculate1")
calculated1.count()

4248637L строк

(Заняло 21 мин 41 сек. Последнее обновление: анонимно, 11 февраля 2019 г., 10:49:46.)

Вопрос:

Это складывается как то, что мы ожидаем от производительности при работе в Zeppelin REPL? Если нет, какие-либо рекомендации по улучшению этой производительности?

0 ответов

Другие вопросы по тегам