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

标签 python apache-spark pyspark apache-spark-2.0

星火 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")

最佳答案

从 Spark 2 开始,com.databricks.spark.csv 不需要完全写出,因为包含 CSV 阅读器。因此,首选选项 2。

或者稍微短一点,

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

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

关于python - 为什么在 PySpark 中有两种读取 CSV 文件的选项?我应该使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58261793/

相关文章:

python - 如何在pyspark中将2列聚合到 map 中

python - 为什么 Spark 输出一组 csv 而不是输出一个?

python - 当权重参数为整数时如何从 numpy.bincount 获取整数数组

python - Pandas 聚合然后得到组平均值

gradle - Apache Spark 和 gRPC

mongodb - 如何通过 Spark 查询 MongoDB 进行地理空间查询

apache-spark - 如何将 LIBSVM 模型(使用 LIBSVM 保存)读入 PySpark?

python - 惯用的 Python : 'times' loop

python - 在 python 中使用双线性插值调整图像大小

apache-spark - 如何在 sparkR 中绑定(bind)两个数据框列?