如何在全局代码中将 current_date 声明为变量(代码工作簿)

How can I declare current_date as variable in global code (Code Workbook)

我尝试在全局代码中声明一个 current_date() 变量。

在此之后,我尝试使用 SQL 引用此专栏: where column = aktueller_tag

古腾标签mi_mlr,我看到你是一个新贡献者。你能把问题框成 minimum verifiable working example 吗?根据您提供的信息,我会尽力回答:

使用 current_date() 获得全局变量后,您可以在代码工作簿的任何 node/dataset 中引用它。

这是我的全局代码中的内容:

from pyspark.sql import functions as F
aktueller_tag = F.current_date()

然后从控制台或数据集节点,我可以 运行:

>>> print(aktueller_tag)
Column<b'current_date()'>

由于这是一个列,我可以向现有数据集添加一个新列。

df = df.withColumn("today", aktueller_tag)

这是一个端到端的示例,其中包含 Foundry 中的名义飞行数据:

这是控制台中的示例:

>>> flight.withColumn("today",aktueller_tag)
DataFrame[unique_flight_id: int, flight_id: string, aircraft_registration: string, departure_date: date, arrival_date: date, domestic_or_international: string, scheduled_departure_airport: string, scheduled_arrival_airport: string, today: date]


>>> flight.withColumn("today",aktueller_tag).select("today").show(1)
+----------+
|     today|
+----------+
|2022-03-30|
+----------+

现在,如果您想编写过滤器,一个简单的方法是:

flight = flight.withColumn("today",aktueller_tag)
flight_today = flight.where(F.col("today")==F.col("departure_date"))

其中 departure_date 是您要过滤的列。希望对您有所帮助!