首页 > 解决方案 > 在火花数据帧中使用 $"col" 而不是 "c​​ol" 的优势是什么

问题描述

假设我创建了一个 DF,如下所示

  val posts = spark.read
    .option("rowTag","row")
    .option("attributePrefix","")
    .schema(Schemas.postSchema)
    .xml("src/main/resources/Posts.xml")

posts.select("Id")使用over将其转换为 Column 有什么好处posts.select($"Id")

标签: scalaapache-spark

解决方案


df.select$"col"创建 Column 实例时直接对列进行操作。您还可以使用col函数创建 Column 实例。现在可以组合列以形成复杂的表达式,然后可以将其传递给任何 df 函数。

您还可以在 Scaladoc of Column 类中找到示例和更多用法。

参考 - https://spark.apache.org/docs/2.2.0/api/scala/index.html#org.apache.spark.sql.Column


推荐阅读