使用 pyspark 从小部件值向现有数据框添加列

add column to existing dataframe from widgets values using pyspark

我有一个数据框,我需要从正在传递的小部件值中添加一列。我正在尝试下面的代码,但无论如何都没有帮助。当我们显示 (pdf) 时,我们还应该看到 ID 列也已添加。

  pdf=pTF.withColumn('ID',lit(dbutils.widgets.text("ID", "eiheifhj", label="pro_ID")).cast(StringType()))

以上代码将所有空值推送到列 ID 中。能否请你帮忙。我会请专家帮助解决上述挑战

在下面的代码中,您实际上是在定义小部件,而不是获取小部件包含的值。

dbutils.widgets.text("ID", "eiheifhj", label="pro_ID")
  • "ID" 是您的小部件的 名称
  • "eiheifhj" 是小部件的默认值
  • "pro_ID" 是 UI
  • 中的小部件 标签

所以如果你想获取'ID'小部件的值,你可以使用下面的方法。

dbutils.widgets.get(<widget_name>)

因此你的程序应该修改如下:

pdf=pTF.withColumn('ID',lit(dbutils.widgets.get("ID")).cast(StringType()))