2017-09-26 55 views
1

私はスパークデータフレーム(pyspark)としてワイドテーブルを持っており、すべてのセルについて、データをcolumn_name:column_name:valueの形式に変換する必要があります。マップ関数を使用しようとしていますが、列名を取得できません。これでもうまくいきません。Sparkのマップ関数でカラム名を取得する方法は?

map_dummy(c, v): 
    return c+":"+c+":"+v 

metadata.select(*(map_dummy(c, col(c)) for c in metadata.columns)).show() 

私が望む形式にデータをどのように変換できますか?

答えて

1
あなたは組み込み関数でそれを行うことができます

:CONCATはPySpark SQLモジュールから関数である

metadata.select(concat(lit(c), lit(":"), lit(c), lit(":"), c) for c in metadata.columns)).show() 

関連する問題