in notebook1
from pyspark.sql.functions import current_timestamp
def add_ingest_date(input_df):
output_df = input_df.withColumnRenamed("somecolumn",
current_timestamp())
return output_df
在notebook2
%run "../common_functions/add_ingested_date"
final_df = add_ingest_date(input_df)
我得到"Column is not iterable"误差
您试图将名称为'somecolumn'的列的名称更改为current_timestamp()。这是不对的。如果要更改列名,则需要提供字符串而不是函数。例如:
output_df = input_df.withColumnRenamed("somecolumn", "newColumnName")
如果你想添加一个新列,显示当前的时间戳,那么你需要指定要添加一个新列的数据帧
output_df = input_df.withColumn("somecolumn", current_timestamp())