Saya butuh bantuan untuk membuat kolom baru new_id dalam kerangka data pyspark, yang nilainya bergantung pada kecocokan kolom tipe string address dari datafarame pyspark lain, dan jika tidak cocok pada kolom address, lalu isi saja dengan null.

Seperti berikut ini:

Df1:

  df1_value       address  new_id
          1   'street 57'    6248
          0   'street 99'    9543
          0   'street 23'    1673
          1   'street 14'    3557

Df2:

   df2_value    old_id       address
          'A'   'A-12'   'street 57'
          'A'   'A-09'   'street 98'
          'B'     null   'street 23'
          'B'   'A-85'   'street 14'
          'A'     null   'street 82'

Baru_df2:

   df2_value    old_id       address  new_id
          'A'   'A-12'   'street 57'    6248
          'A'   'A-09'   'street 98'    null
          'B'     null   'street 23'    1673
          'B'   'A-85'   'street 14'    3557
          'A'     null   'street 82'    null

Saya tahu bagaimana melakukan ini dengan python dengan bergabung, tetapi saya tidak tahu apakah ada yang serupa di pyspark.

-1
Lucas Mengual 17 Mei 2021, 18:30

1 menjawab

Jawaban Terbaik

Ini adalah gabungan kiri sederhana. Ini harus bekerja:

df2.join(df1, "address", left).show()
0
Robert Kossendey 17 Mei 2021, 15:36