2017-05-03 83 views

回答

2

Spark有一個方法,名爲monotonically_increasing_id。這比row_number更直接,更適合你的目的。您可以使用它像這樣:

SELECT MONOTONICALLY_INCREASING_ID() AS table_id, t1.* 
FROM table_1 t1 
ORDER BY <columns> 

而且也不要忘記添加ORDER BY,使您的代理鍵重複的。

1

您顯示的語法是針對SQL Server的。在Spark SQL中,可以使用row_number()向結果集中添加一列。例如:

SELECT ROW_NUMBER() OVER (ORDER BY col) as table_id, t1.* 
FROM table_1 t1; 
相關問題