为什么有两个选项可以在PySpark中读取CSV文件?我应该使用哪一个?

问题描述 投票:1回答:1

火花2.4.4:

我想导入CSV文件,但是有两个选项。这是为什么?哪个更好?我应该使用哪一个?

from pyspark.sql import SparkSession

spark = SparkSession \
    .builder \
    .master("local[2]") \
    .config('spark.cores.max', '3') \
    .config('spark.executor.memory', '2g') \
    .config('spark.executor.cores', '2') \
    .config('spark.driver.memory','1g') \
    .getOrCreate()

选项1

df = spark.read \
    .format("com.databricks.spark.csv") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .load("data/myfile.csv")

选项2

df = spark.read.load("data/myfile.csv", format="csv", inferSchema="true", header="true")
python apache-spark pyspark apache-spark-2.0
1个回答
3
投票

自Spark 2起,由于包含了CSV阅读器,因此不需要完全写出com.databricks.spark.csv。因此,选项2将是首选。

或更短一些,

spark.read.csv("data/myfile.csv", inferSchema=True, header=True)

但是如果将输入格式提取到某些配置文件中,选项2会更好

© www.soinside.com 2019 - 2024. All rights reserved.