Existe um pequeno problema na etapa em que tentamos salvar o DataFrame em formato Parquet. No Spark, quando você lê um arquivo usando a API do Spark e converte para um DataFrame Pandas, você não precisa usar to_parquet para salvar no formato Parquet, pois isso é específico do Pandas, não do Spark.
Usei o seguinte código para correção:
Carregando o arquivo data_by_year.csv utilizando o Spark
df_data_year = spark.read.format('csv') \
.option("inferSchema", 'True') \
.option("header", 'True') \
.option("sep", ',') \
.load("dbfs:/FileStore/dados/data_by_year.csv")
Convertendo as colunas selecionadas do DataFrame de string para float
columns_to_convert = ['acousticness', 'danceability', 'duration_ms', 'energy', 'instrumentalness', 'liveness', 'loudness', 'speechiness', 'tempo', 'valence', 'popularity']
for col in columns_to_convert:
df_data_year = df_data_year.withColumn(col, df_data_year[col].cast('float'))
Salvando o DataFrame em formato Parquet no diretório especificado
path = "dbfs:/FileStore/dados_tratados/data_year.parquet"
df_data_year.write.parquet(path, mode='overwrite')