当前位置: 首页 > 知识库问答 >
问题:

Spark选项:inferSchema vs

郦昆
2023-03-14

参考PySpark:spark.read.format(“csv”)与spark.read.csv的性能差异

我想我需要.options(“inferschema”,“true”).options(“header”,“true”)来打印标题,但显然我仍然可以打印带有标题的csv。

头和模式有什么区别?我不太明白“inferschema:自动推断列类型。它需要对数据进行一次额外的传递,默认情况下是false”的含义。

共有1个答案

养鸿运
2023-03-14

头和模式是分开的。

标题:

如果csv文件有一个头(列名在第一行),那么设置header=true。这将使用csv文件中的第一行作为DataFrame的列名。设置header=false(默认选项)将生成一个具有默认列名的数据表:_c0_c1_c2等。

作为使用inherschema读取csv的替代方案,您可以在读取时提供模式。这样做的优点是,在给出具有正确列类型的dataframe的同时,比推断模式更快。此外,对于没有头行的csv文件,可以自动给出列名。若要证明模式,请参见:在将csv文件作为数据文件读取时提供模式

 类似资料:
  • 哪里可以找到的所有调优参数的详尽列表(连同它们的属性名),这些参数可以通过命令传递?

  • 我正在尝试使用Spark JdbcUtils中的可保存方法 https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala 该方法的定义如下。它接受JDBCO作为参数之一。 以下是 JDBC 选项的类

  • 我想询问火花中哪个配置选项优先?是配置文件还是我们在运行火花提交shell时手动指定的选项?如果我在配置文件中有不同的执行程序内存选项并且我在运行火花提交shell时指定了不同的值怎么办?

  • 我们以前使用过Spark 2.3,现在使用的是2.4: 我们在生产中运行了一段代码,将csv文件转换为拼花格式。我们设置csv加载的选项之一是option(“nullValue”,null)。spark 2.4中的工作方式有问题。 这里有一个例子来说明这个问题。 让我们创建以下/tmp/test。csv文件: 结果更糟: 这是新版Spark 2.4.0中的错误吗?任何机构都面临类似的问题吗?

  • 我正在尝试使用spark-submit选项添加redshift jar: 在Spark 2.1.0上运行命令 spark-submit--类测试--主spark:/xyz.local:7077--executor-cores 4--总-executor-cores 32--executor-memory 6G--驱动程序-memory 4G--驱动程序-cores 2--部署模式集群-jars S