0
A
答えて
1
のような予想される出力は、UDFのデータを比較し、値を返し、両方の列の値(古いものと新しい値)を渡し、後で列とUDFを使用して、プライマリキー上の2つのデータフレームに参加します同じでない場合。
val check = udf ((old_val:String,new_val:String) => if (old_val == new_val) new_val else "")
df_check= df
.withColumn("Check_Name",check(df.col("name"),df.col("new_name")))
.withColumn("Check_Namelast",check(df.col("lastname"),df.col("new_lastname")))
はdef機能
def fn(old_df:Dataframe,new_df:Dataframe) : Dataframe =
{
val old_df_array = old_df.collect() //make df to array to loop thru
val new_df_array = new_df.collect() //make df to array to loop thru
var value_change : Array[String] = ""
val count = old_df.count
val row_count = old_df.coloumn
val row_c = row.length
val coloumn_name = old_df.coloumn
for (i to count) //loop thru all rows
{
var old = old_df_array.Map(x => x.split(","))
var new = new_df_array.Map(x => x.split(","))
for (j to row_c) //loop thru all coloumn
{
if(old(j) != new(j))
{
value_change = value_change + coloumn_name(j) " has value changed" ///this will add all changes in one full row
}
//append to array
append j(0) //primary key
append value_change //Remarks coloumn
}
}
//convert array to df
}
関連する問題
- 1. パンダのデータフレーム:エラーが、私はこの二つのデータフレームを持っている
- 2. 私は2つのデータフレームを持って
- 3. データフレームの列には、間違っては、3つの列でデータフレームについて
- 4. 私は2つのアレイ持っている二つの配列
- 5. 私は2つのデータフレームを持っている別のデータフレーム
- 6. 私は2つのデータフレームを持つ2つのデータフレームから
- 7. 2つのデータフレームをマージするが、私はマージしたい、私は2つのデータフレームを持って
- 8. パフォーマンスの問題2列のデータフレームが与えられるデータフレームの二つの列
- 9. パンダ:2つのデータフレームの間の変更
- 10. 次のように私は2つのデータフレームを持つ2つの等しくないデータフレームを比較して第二のデータフレーム
- 11. 私はフォーマット以下の2つのパンダのデータフレームを持っている間隔
- 12. 2段階のフィルタリング、私は2つのカラムを持つデータフレームを持って
- 13. Doctrine2が誤って私は2つの教義エンティティ持っ関係
- 14. MySQLの二人は、私は2つのテーブルを持って一つのテーブル
- 15. MYSQL - 2つのフィールドは二つのテーブル
- 16. は、ランダムに私は2つのリスト持っている二つのリスト
- 17. SQLクエリは、私は2つのテーブルを持って二度
- 18. 選択し、私はこの2つのテーブル持っている二つのテーブル
- 19. どのように私は2つのテーブル持っている二つのテーブル
- 20. 2つのデータフレームを追加は、私は二つのリストから作成された2つのデータフレームを、連結したい最初の2
- 21. データフレームは、私はPythonで2つのデータフレームを持っている他の
- 22. Java MultiChoice、2つの誤答?
- 23. 2つのデータフレームの月間の差異を見つける
- 24. 私は、次のデータフレーム持って二回
- 25. は、私はここ2つのデータフレームを持って
- 26. マージデータフレームは、私は2つのデータフレーム持っている文字列
- 27. 私は、次の2つのデータフレーム持って
- 28. んが、メッセージは、私は2つのスレッドを持っている第二のスレッド
- 29. は、私は二人が表す2つのノードを持っているのNeo4j
- 30. 私は2つのデータフレームを持つR
あなたは**発言を、列のコンテンツを作成する方法を意味するか**?もしそうなら、その列の内容を完全に表示できますか? –
を除き、マイナス演算の一種です。人々が理解してよりよく答えるのを助ける質問にいくつかの例を追加することを提案します。 –
例:古いデータでは、 firstname、lastname、addressが新しいデータと一致しません。備考欄にこの情報を記入してください。
例:古いデータジェームスでは、新しいデータニチン。今は一致していないfirstnameとしてこの情報を取得します。同時に、2番目の列の列を比較します。この情報を同じ列にも入れてください。 –