Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark Scala:在同一行的数据框中创建并使用列_Scala_Apache Spark - Fatal编程技术网

Spark Scala:在同一行的数据框中创建并使用列

Spark Scala:在同一行的数据框中创建并使用列,scala,apache-spark,Scala,Apache Spark,当我需要数据帧中的一个新列用于其他计算时,我的代码类似于: var df: DataFrame = ... df = df.withColumn("new_col", df.col("a") / 2) println(df.withColumn("res", df.col("b") + df.col("new_col")).head()) 如何合并成一行(并避免使用var) 问题是df.col(),因为df中还不存在new\u col,所以我不能简单地执行以下操作: df.withColumn

当我需要数据帧中的一个新列用于其他计算时,我的代码类似于:

var df: DataFrame = ...
df = df.withColumn("new_col", df.col("a") / 2)
println(df.withColumn("res", df.col("b") + df.col("new_col")).head())
如何合并成一行(并避免使用
var

问题是
df.col()
,因为
df
中还不存在
new\u col
,所以我不能简单地执行以下操作:

df.withColumn("new_col", df.col("a"))
  .withColumn("res", df.col("b") + df.col("new_col"))
  .head()

是否缺少一些API?

您可以使用
$
来生成列,而不是
df.col
;前者将从新数据帧而不是
df
推断列:

df.withColumn("new_col", $"a")
  .withColumn("res", $"b" + $"new_col")
  .head()
或:


您可以使用
$
来生成列,而不是
df.col
;前者将从新数据帧而不是
df
推断列:

df.withColumn("new_col", $"a")
  .withColumn("res", $"b" + $"new_col")
  .head()
或: