从 HDFS CSV 文件构建的 Spark Dataframe 中提取列名

Posted

技术标签:

【中文标题】从 HDFS CSV 文件构建的 Spark Dataframe 中提取列名【英文标题】:Pulling Out of the Column Names from a Spark Dataframe built from a HDFS CSV File 【发布时间】:2018-01-21 08:19:24 【问题描述】:

我有一个通过从 HDFS 读取 csv 文件创建的 Spark Dataframe。

我现在有一个关于 READ 的架构,因为 csv 在不同的实例中可以有不同的列名,并且列数会因不同的 csv 文件而异。

我如何才能从架构 StructType 中仅提取“列名”作为字符串到单独的数组或 HashMap 中。

问候, 桑吉布

【问题讨论】:

【参考方案1】:

如果你有一个数据框,你可以调用 API columns(),它将列名作为字符串数组返回。

DataFrame (Spark 1.6.3 JavaDoc) - Apache Spark

【讨论】:

@sanjeeb,如果它解决了你的问题,请接受这个答案。

以上是关于从 HDFS CSV 文件构建的 Spark Dataframe 中提取列名的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 CSV 文件映射到 HDFS 上的 Hive 表时出错

PySpark 无法从 hdfs 读取 csv:HiveExternalCatalog 错误

无法从本地文件路径读取文本文件 - Spark CSV 阅读器

使用 .csv 格式的 HDFS 文件创建 Pandas DataFrame

无法在 Spark 中将文件写入 Zeppelin 上的远程 hdfs

写入 HDFS 时 Apache spark 中的任务数