Apache spark Spark重命名数据帧列的行为异常

Apache spark Spark重命名数据帧列的行为异常,apache-spark,dataframe,Apache Spark,Dataframe,我在尝试重命名dataframe列时遇到了一个奇怪的行为 我有两个VAL,fail和ok,每个代表完全相同的列表 scala> fail res136: Array[String] = Array(en, vi, ro, ur, lv, pl, pt, tl, in, ko, uk, cs, sr, tr, de, is, es, eu, el, it, ar, nl, bn, hu, iw, th, lt, no, fa, bg, cy, hi, et, zh, fr) scala&g

我在尝试重命名dataframe列时遇到了一个奇怪的行为

我有两个VAL,
fail
ok
,每个代表完全相同的列表

scala> fail
res136: Array[String] = Array(en, vi, ro, ur, lv, pl, pt, tl, in, ko, uk, cs, sr, tr, de, is, es, eu, el, it, ar, nl, bn, hu, iw, th, lt, no, fa, bg, cy, hi, et, zh, fr)

scala> ok
res137: Array[String] = Array(en, vi, ro, ur, lv, pl, pt, tl, in, ko, uk, cs, sr, tr, de, is, es, eu, el, it, ar, nl, bn, hu, iw, th, lt, no, fa, bg, cy, hi, et, zh, fr)

scala> fail.deep == ok.deep && fail.getClass == ok.getClass
res145: Boolean = true
问题是,当我尝试以下方法时,我开始质疑我的理智:

scala> cross.toDF("y"+:fail:_*).count
res142: Long = 1

scala> cross.toDF("y"+:ok:_*).count
res143: Long = 41
加上:

scala> val exactlyTheSameDF = cross
exactlyTheSameDF: org.apache.spark.sql.DataFrame = [y_prediction: string, 0.0: bigint ... 34 more fields]

scala> exactlyTheSameDF.toDF("y"+:ok:_*).count
res150: Long = 41

scala> exactlyTheSameDF.toDF("y"+:fail:_*).count
res151: Long = 41
我一定错过了什么,知道吗


我非常感谢您能提供的任何帮助

我正在尝试复制这一点。什么是“十字架”?如果是RDD/DF,您可以共享列吗?嗨,“交叉”是从交叉表func获得的数据帧。这些列只是用浮点数表示语言(例如:0.0,1.0,2.0,3.0,…),这就是我试图将它们映射到各自名称的原因