Eu tenho uma tabela ampla como um dataframe Spark(pyspark) e para cada célula, eu preciso transformar os dados para estar no formato column_name: column_name: value. Eu estou tentando usar uma função de mapa, mas eu não sou capaz de obter o nome da coluna nele. Mesmo isso não funciona:
map_dummy(c, v):
return c+":"+c+":"+v
metadata.select(*(map_dummy(c, col(c)) for c in metadata.columns)).show()
Alguma ideia de como posso transformar os dados no formato que quero?
Respostas:
1 para resposta № 1Você pode fazer isso com funções embutidas:
metadata.select(concat(lit(c), lit(":"), lit(c), lit(":"), c) for c in metadata.columns)).show()
Onde concat é uma função do módulo SQL do PySpark