pyspark: разница в производительности для spark.read.format ("csv") и spark.read.csv - PullRequest
0 голосов
/ 05 июля 2019

Кто-нибудь знает, в чем разница между spark.read.format ("csv") и spark.read.csv?

Некоторые говорят, что "spark.read.csv" является псевдонимом "spark.read".format ("csv") ", но я увидел разницу между 2. Я провел эксперимент, выполняя каждую команду ниже с новым сеансом pyspark, чтобы не было кэширования.

DF1 занял 42 секунды, в то время как DF2 занял всего 10 секунд.Размер файла csv составляет 60+ ГБ.

DF1 = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("hdfs://bda-ns/user/project/xxx.csv")

DF2 = spark.read.option("header", "true").csv("hdfs://bda-ns/user/project/xxx.csv")

Причина, по которой я копаю эту проблему, заключается в том, что мне нужно выполнить объединение 2-х фреймов данных после фильтра, а затем записать обратно в hdfs, и это заняло очень много временивремя писать (все еще пишу после 16 часов ....)

1 Ответ

1 голос
/ 05 июля 2019

По сути, они абсолютно одинаковы, когда вы звоните одному из них. Но в тебе реализации есть разница

С DF1 вы добавляете опцию inferSchema , это замедляет процесс, что объясняет, почему DF1 занял больше времени, чем вторая

inferSchema: автоматически выводит типы столбцов. Требуется один дополнительный проход по данным и по умолчанию значение false 1009 * Подробный документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...