REPL with Glue + Zeppelin - это медленно - ожидается? - PullRequest
0 голосов
/ 11 февраля 2019

Я опробую 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 утра.)

Вопрос:

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

...