2017-10-18 101 views
1

我知道我可以做UUID.randomUUID.toString來爲我的Dataset中的每一行附加一個ID,但是我需要這個ID是一個Long,因爲我想使用GraphX。我如何在Spark中做到這一點?我知道Spark有monotonically_increasing_id(),但那僅適用於DataFrame API - 數據集的情況如何?如何在整數類型的Spark中生成一個GUID ID列

+0

您應該仍然能夠使用'monotonically_increasing_id()'。當然,你會得到一個數據框,但這很重要嗎?數據框和數據集通常可以互換使用。如果確實如此,您能否提供關於這個特定案例的更多信息? – Shaido

回答

0

我們可以通過拖放到dataframes做到這一點:

case class Row(id: Long, name: String .....) 

val ds: Dataset[Row] = .... 

val ds2 = ds.withColumn("id", monotonically_increasing_id()).as[Row]