0
数値を計算するためにscala.math.powを呼び出す必要がありますが、scala sqlで作成した列をキャストしてdoubleにキャストするときに問題が発生します。sql.ColumnNameをDoubleにキャストする
これは私がpower関数を呼び出すために使用する行です。
scala.math.pow(pr,$”numinLinks”)
私は、このUDLを使用してダブルにキャストしようとした列を持つspark SQLデータフレームを持っています。
val toDouble = udf[Double, Int](_.toDouble)
これを私のデータフレームに呼び出しました。
val joinDFAdjusted = join.withColumn(“numInLinks”, toDouble(joinDF(“numInLinks”)))
スキーマでは、私の列がStructField(numInLinks、Double、true)であることを示しています。これは私が受け取るエラーです。ただ、pow
機能を使用
found: org.apache.spark.sql.ColumnName
required: Double
は、コードセグメントのより文脈です。私は各項目にpow関数を呼び出す必要があります。 pr変数はその行に応じて変わります。列の全体的な変更は機能しません。 –
val result = joinDFAdjusted.select($ "p1_main"、$ "p2_main"、($ "numInLinks"/$ "totalInLinks")*($ "numOutLinks"/$ "totalOutLinks"))*(scala.math.pow (pr、$ "numinLinks"))) –