Ошибка «Столбец не повторяется» при вызове функции из другого импортированного ноутбука

#python #azure #databricks

Вопрос:

в записной книжке1

 from pyspark.sql.functions import current_timestamp
def add_ingest_date(input_df):
output_df = input_df.withColumnRenamed("somecolumn", 
current_timestamp())
return output_df
 

в записной книжке2

 %run "../common_functions/add_ingested_date"
final_df = add_ingest_date(input_df)
 

Я получаю ошибку «Столбец не повторяется»

Комментарии:

1. Пожалуйста, предоставьте образец данных, которые вы передаете. Вы проверяли типы данных?

2. Столбец *не подлежит повторению (конец поста)

Ответ №1:

Вы пытаетесь изменить имя столбца с именем «somecolumn» на current_timestamp(). Это неприлично. Если вы хотите изменить имя столбца, вам нужно указать строку, а не функцию. Например:

output_df = input_df.withColumnRenamed("somecolumn", "newColumnName")

Если вы хотите добавить новый столбец, в котором отображается текущая метка времени, вам необходимо указать, что вы добавляете новый столбец во фрейм данных

output_df = input_df.withColumn("somecolumn", current_timestamp())

Комментарии:

1. О черт! такая большая опечатка. Огромное спасибо