如何填充或更新現有的三角洲表中列

學習如何填充或更新現有的三角洲表中列。

寫的亞當Pavlacka

去年發表在:2022年5月10日

問題

你有現有的差值表,有幾個空的列。你需要用數據填充或更新這些列原始文件拚花。

解決方案

在這個例子中,有一個beplay体育app下载地址表,這是一個現有的差值表。它有一個地址列用缺失值。更新後的數據存在於鋪格式。

  1. 創建一個DataFrame從鋪文件使用Apache火花API聲明:
    % python updatesDf = spark.read.parquet(“/路徑/ /原始文件”)
  2. 視圖的內容updatesDF DataFrame:
    % python顯示器(updatesDf)
  3. 創建一個表的updatesDf DataFrame。在這個例子中,因此得名更新
    % python updatesDf.createOrReplaceTempView(“更新”)
  4. 檢查表的內容更新,並比較它的內容beplay体育app下载地址:
    % python顯示器(客戶)beplay体育app下载地址
  5. 使用合並成語句合並的數據更新表到原始beplay体育app下载地址表。
    % sql合並成客戶使用更新客戶beplay体育app下载地址。customerId =來源。customerId當匹配更新設置地址=更新。地址WHEN NOT MATCHED THEN INSERT (customerId, address) VALUES (updates.customerId, updates.address)

在這裏,beplay体育app下载地址是原始的δ表有嗎地址列用缺失值。更新表創建的嗎DataFrame updatesDf,這是由從原始文件中讀取數據。的地址表列的原始δ值填充更新,覆蓋任何現有值地址列。

如果更新包含客戶中沒有的beplay体育app下载地址beplay体育app下载地址客戶表,然後命令添加這些新客戶記錄。

更多使用的例子合並成,請參閱並入(三角洲湖)(AWS|Azure|GCP)。