Spark SQL DFを使用しています。これはSpark SQL udf
を使用して作成した1つのUDFを呼び出しようとしています。Spark SQLのUDFメソッド内で他のメソッド/変数を呼び出すDataFrame
val udfName = udf(somemethodName)
val newDF = df.withColumn("columnnew", udfName(col("anotherDFColumn"))
私はsomemethodName内部val
として格納された別のDFを使用しようとしているが、DFはNULLとして来ています。
これは、私がnewDF
のwhere節を使用している場合にのみ発生します。
何か不足していますか?UDFメソッド内で別の変数/メソッドを使用することはできませんか?
ブロードキャストで何かする必要がありますか?現在、私はクラスタではなく、ローカルでこれを実行しています。
実際、 'Dataset' /' Dataframe'は直列化することができます。 UDFクロージャーでは使用できません。 –
@Tzach Zohar:データフレーム間に共通のキーがないので、私は参加できません。他のデータフレームはルックアップファイルです.0〜60などの範囲の値がいくつかあります。私はudfメソッド内のルックアップファイルを読むことができますが、各レコードごとにファイル全体をロードする必要があります。 – Shankar
@LostInOverflow:UDFメソッド名の外で定義されたリストを使用できますか?私は、ファイルから範囲を読んでリストを作成し、UDFメソッド内のリストを使用することを計画しています。それは機能しますか? – Shankar