2
и 3
эквивалентны.
3
допускает дополнительную функцию option(key, value)
(см. 4
или spark.read.format('csv').option(...).load()
), которая может позволить вам пропустить строку заголовка или установить, например, разделитель, отличный от запятой.
1
не анализирует CSV, он использует Parquet в качестве формата по умолчанию .
def load(self, path=None, format=None, schema=None, **options):
"""Loads data from a data source and returns it as a :class`DataFrame`.
:param path: optional string or a list of string for file-system backed data sources.
:param format: optional string for format of the data source. Default to 'parquet'.
:param schema: optional :class:`pyspark.sql.types.StructType` for the input schema
or a DDL-formatted string (For example ``col0 INT, col1 DOUBLE``).
:param options: all other string options
Я бы предложил inferSchema=True
, чтобы предотвратить опечатки в строковом значении