Эта ошибка возникает из-за того, что в вашем sp2
кадре данных нет столбца CustomerID
. поэтому вы не можете присоединиться к ним на CustomerID
. Я предлагаю вам создать столбец CustomerID
со значением None
в sp2
кадре данных, а затем соединить его с spark_df
в столбце CustomerID
.
Это пример кода для этого:
import pyspark.sql.functions as f
sp2 = sp2.withColumn('CustomerID', f.lit("None").cast(StringType()))
df_joined = sp2.join(spark_df, "CustomerID")
ОБНОВЛЕНИЕ : Другой способ добавить столбец CustomerID
в ваши сгруппированные данные - использовать функцию first
:
import pyspark.sql.functions as F
sp2 = spark_df.drop_duplicates().groupBy('Transaction').agg(F.collect_list("Product").alias("items"), F.first('CustomerID').alias('CustomerID'))