11
我有DataFrame
和few columns
。現在我想添加兩列到現有的DataFrame。使用withColumn在現有DataFrame中添加兩列
目前我在DataFrame中使用withColumn
方法。
例如:
df.withColumn("newColumn1", udf(col("somecolumn")))
.withColumn("newColumn2", udf(col("somecolumn")))
其實我可以返回使用數組[字符串]在單個UDF方法都新列值。但目前這是我如何做到這一點。
無論如何,我可以有效地做到這一點?使用explode
在這裏是不錯的選擇?
即使我必須使用explode
,我必須使用withColumn
一次,然後返回列值Array[String]
,然後使用explode
,創建兩列。
哪一個是有效的?或者有沒有其他的選擇?
一個非常有趣的方法。您是否衡量了您可以獲得的實際效益? –
@AntonOkolnychyi當然,這取決於用例。我有一個UDF需要約500毫秒的時間來計算和生成40列輸出。所以在這種情況下,我絕對不想多次調用這個UDF。 ..所以我使用上述模式 –
@RaphaelRoth:謝謝,你如何使用Tuple的上述情況?你如何從列中得到元組的值?基本上用Columns接受col(「somecolumn」)作爲值。 – Shankar