/ / Como obter o nome da coluna na função de mapa do Spark? - python, apache-spark, dataframe, pyspark

Como obter o nome da coluna na função de mapa do Spark? - python, apache-spark, dataframe, pyspark

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 № 1

Você 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