Невозможно разрешить спарк имени столбца

1

Я создал 2 кадра данных, как показано ниже:

df_flights = spark1.read.parquet('domestic-flights\\flights.parquet')
df_airport_codes = spark1.read.load('domestic-flights\\flights.csv',format="csv",sep=",",inferSchema=True,header=True)

Затем я обратился к руководству по базам данных, чтобы не получить дубликаты столбцов https://docs.databricks.com/spark/latest/faq/join-two-dataframes-duplicated-column.html

df3=df_flights.join(df_airport_codes,"origin_airport_code", 'left')

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

Py4JJavaError: An error occurred while calling o1553.filter.

: org.apache.spark.sql.AnalysisException: Ссылка "пассажиры" неоднозначна, может быть: пассажиры, пассажиры.;

ИЛИ если я попытаюсь сортировать:

df3.sort('passengers')

Py4JJavaError: An error occurred while calling o1553.sort.: org.apache.spark.sql.AnalysisException: cannot resolve ''passengers'' given input columns: [flights, destination_population, origin_city, distance, passengers, seats, flights, origin_population, passengers, flight_datetime, origin_air_port_code, flight_year, seats, origin_city, destination_city, destination_city, destination_airport_code, destination_airport_code, origin_population, destination_population, flight_month, distance];;

Вопрос в том, есть ли ошибка в моей логике соединения? Если нет, то как мне псевдоним неоднозначного столбца?

Теги:
python-3.x
pyspark

1 ответ

0

В вашем соединении нет ошибок. Оба фрейма данных имеют одинаковый столбец, поэтому ваш результирующий фрейм данных содержит неоднозначные имена столбцов.

Вот почему сортировка по пассажирам дает исключение. Вам нужно отсортировать по правильному псевдониму.

df3.sort(df_flights.passengers)

Или сначала выберите соответствующие столбцы и сортируйте. подобно

df3.select(df_flights.passengers, df.origin_city, ......).sort("passengers").show()

В сортировке вы должны быть уникальными перед любой операцией в искре.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню