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

spark-当spark读取csv时,如何添加字段名

危裕
2023-03-14

我想读Spark的CSV。所以我使用Java中的命令。

result = sparkSession.read().csv("hdfs://master:9000/1.csv");
_c0  _c1   _c2
1     egg    T
2     bob    F
3     tom    D
ID  Name   Class
1     egg   T
2     bob   F
3     tom   D

谢谢大家。

共有1个答案

漆雕誉
2023-03-14

可以使用todf()方法重命名所有列:https://spark.apache.org/docs/2.0.2/api/java/org/apache/spark/sql/dataset.html#todf(java.lang.string...)

例如:

result = sparkSession.read().csv("hdfs://master:9000/1.csv").toDF("ID", "Name", "Class")
 类似资料:
  • 我正在通过Spark使用以下命令读取csv文件。 我需要创建一个Spark DataFrame。 我使用以下方法将此rdd转换为spark df: 但是在将rdd转换为df时,我需要指定df的模式。我试着这样做:(我只有两列文件和消息) 然而,我得到了一个错误:java。lang.IllegalStateException:输入行没有架构所需的预期值数。需要2个字段,但提供1个值。 我还尝试使用以

  • 我正在尝试使用spack-csv从spack-shell中的aws s3读取csv。 下面是我所做的步骤。使用下面的命令启动spack-shell 箱子/火花壳——包装com。数据块:spark-csv\u 2.10:1.2.0 在shell中,执行以下scala代码 获取以下错误 我在这里错过了什么?请注意,我可以使用 同样的scala代码在databricks笔记本中也可以正常工作 在spar

  • 我试图在这张图片中了解当前的Spark情况。 在我看来是什么样子 4台工人机器,每个机器具有93.3 Gb Ram (注意:我确定作业是如何在节点之间拆分的。) 我的期望 app每台机器使用10个内核,每台机器使用32 Gb RAM,每台CORE=320 Gb总使用量 app使用16个内核在机器之间拆分,每个内核在每台机器中需要8 Gb=总共128 Gb 这是否意味着每个节点的内存在特定应用程序的

  • 我在Azure上有一个Databricks5.3集群,它运行Apache Spark 2.4.0和Scala 2.11。 我不是Java/Scala开发人员,也不熟悉Spark/Databricks。我找不到Spark用来解析值的datetime格式化程序。 我尝试的模式:

  • 我在尝试使用Spark简单读取CSV文件时遇到了这个问题。在这样的操作之后,我想确保: 数据类型是正确的(使用提供的模式) 根据提供的架构,标头是正确的 这是我使用的代码,并且有问题: 类型为产品类型,即案例类。这是可行的,但它不会检查列名是否正确,因此我可以提供另一个文件,只要数据类型正确,就不会发生错误,而且我不知道用户提供了错误的文件,但由于某种程度上的巧合,正确的数据类型具有正确的顺序。