从另一个导入的笔记本调用函数时"Column is not iterable"错误



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())

相关内容

最新更新