私はSCALAを使用してSPARK 1.6.1バージョンで作業していて、異常な問題に直面しています。同じ実行中に作成された既存の列を使用して新しい列を作成する場合は、「org.apache.spark.sql.AnalysisException」を取得します。
WORKING:。Sparkを使用してデータフレームのカラムにアクセス
val resultDataFrame = dataFrame.withColumn("FirstColumn",lit(2021)).withColumn("SecondColumn",when($"FirstColumn" - 2021 === 0, 1).otherwise(10))
resultDataFrame.printSchema().
私は同じ実行中に作成FirstColumnを使用して、私のSecondColumnを作成しています。ここ
val resultDataFrame = dataFrame.withColumn("FirstColumn",lit(2021)).withColumn("SecondColumn",when($"FirstColumn" - **max($"FirstColumn")** === 0, 1).otherwise(10))
resultDataFrame.printSchema().
を働いていません。質問は、avg/max関数を使用しているときに動作しない理由です。この問題を解決する方法を教えてください。
最大(平均/合計、など)グループ化されたDataFrame(つまりgroupByの後)または '.over(window)'句で使用する必要があります。 –