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

学习如何填充或更新现有的三角洲表中列。

写的亚当Pavlacka

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

问题

你有现有的差值表,有几个空的列。你需要用数据填充或更新这些列原始文件拼花。

解决方案

在这个例子中,有一个客户表,这是一个现有的差值表。它有一个地址列用缺失值。更新后的数据存在于铺格式。

  1. 创建一个DataFrame从铺文件使用Apache火花API声明:
    % python updatesDf = spark.read.parquet(“/路径/ /原始文件”)
  2. 视图的内容updatesDF DataFrame:
    % python显示器(updatesDf)
  3. 创建一个表的updatesDf DataFrame。在这个例子中,因此得名更新
    % python updatesDf.createOrReplaceTempView(“更新”)
  4. 检查表的内容更新,并比较它的内容客户:
    % python显示器(客户)
  5. 使用合并成语句合并的数据更新表到原始客户表。
    % sql合并成客户使用更新客户。customerId =来源。customerId当匹配更新设置地址=更新。地址WHEN NOT MATCHED THEN INSERT (customerId, address) VALUES (updates.customerId, updates.address)

在这里,客户是原始的δ表有吗地址列用缺失值。更新表创建的吗DataFrame updatesDf,这是由从原始文件中读取数据。的地址表列的原始δ值填充更新,覆盖任何现有值地址列。

如果更新包含客户中没有的客户表,然后命令添加这些新客户记录。

更多使用的例子合并成,请参阅并入(三角洲湖)(AWS|Azure|GCP)。

这篇文章有用吗?