Я новичок в pyspark и работаю над pyspark с Spark версии 2.2.0 и Python версии 2.7.12
Я пытаюсь прочитать 2 файла .csv (имеет более 1 строки заголовка) в 2 разных фреймах данных с известной схемой и выполнить операции сравнения.
Я не уверен, существует ли какой-либо оптимальный / лучший метод для создания файла схемы (включает имя столбца, тип данных, обнуляемость) и передачи его в программу pyspark для загрузки в информационный кадр.
Я кодировал следующее для первого файла:
Создание файла yaml для хранения путей к файлам и схемы
Чтение файла схемы и динамическое построение StructField (имя столбца, тип данных, нулевое значение) в цикле.
Пример:
[StructField (column1, Integer, true), StructField (column2, string, true), StructField (column3, десятичный (10,2), true), ....]
Считать файл данных в RDD и удалить 2 строки заголовка (будет использовать функцию вычитания)
Создание фрейма данных с использованием sqlContext.createDataFrame с передачей RDD, структуры схемы.
Я могу выполнить эти шаги для выборки данных первого файла.
Пожалуйста, предложите, если есть какой-либо лучший способ (я еще не изучил вариант fromDDL для StructType). После создания аналогичного кадра данных для второго файла необходимо применить функциональную логику.
Спасибо