実現したいこと
200万程度のレコードがあるdf1の変数targetの数値の中で、変数tempの数値に近いレコードを見つけたいのですが、下の配列を使ったソースコードだと結果が返ってくるまでの時間がかかり過ぎるため、より短時間で結果を得られるようにしたいです。
改善案がありましたら教えてください。
該当のソースコード
Spark
1import numpy as np 2 3def find_closest(arr, val): 4 idx = np.abs(arr - val).argmin() 5 6 return arr[idx] 7 8 9target = np.array(df1.select('val1').collect()) 10df2 = df1.withColumn('closest', find_closest(target, temp))