我正在使用Spark 1.6.1。比方說,我的數據幀的樣子:根據同一行中的其他列動態選擇列內容
+------------+-----+----+
|categoryName|catA |catB|
+------------+-----+----+
| catA |0.25 |0.75|
| catB |0.5 |0.5 |
+------------+-----+----+
凡categoryName
有字符串類型,cat*
是雙。我想補充一點,將包含列值的名字是在categoryName
列列:
+------------+-----+----+-------+
|categoryName|catA |catB| score |
+------------+-----+----+-------+
| catA |0.25 |0.75| 0.25 | ('score' has value from column name 'catA')
| catB |0.5 |0.7 | 0.7 | ('score' value from column name 'catB')
+------------+-----+----+-------+
我需要這種提取一些以後計算。有任何想法嗎?
重要提示:我不知道類別列的名稱。解決方案需要是動態的。
1)數據集API是由火花2.0.0,是嗎?我正在使用1.6.1 2.)嗯,也許我會檢查它。 3.)但是我會丟失udf裏面的列名上下文,對不對? 4.)不動態 –
spark 1.6.1在scala中有數據集API(它在2.0中進行了更改)。移動到UDF時,可以通過設置順序來使用列名。 –