0
我有一個Spark DataFrame
其中一個列名包含一個空格。是否有可能將這些行轉換爲案例類?如果列名包含空格,DataFrame是否可以轉換爲case類的Dataset?
例如,如果我這樣做:
val data = Seq(1, 2, 3).toDF("a number")
case class Record(`a number`: Int)
data.as[Record]
我得到這個異常:
org.apache.spark.sql.AnalysisException: cannot resolve '`a$u0020number`' given input columns: [a number];
at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:77)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:74)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:310)
...
有沒有辦法做到這一點?
(當然,我可以解決此通過轉換爲的情況下,課前重命名列。我希望能有case類完全匹配的輸入模式。)
謝謝。儘管如此,這並不適合我,因爲在我的真實情況下,數據作爲DataFrame加載,而不是來自Seq。使用'Seq.toDF'只是爲了方便示例。對困惑感到抱歉。 –