1
如何通過spark-sql將代理鍵(自動增加鍵如1,2,3,4 ...)添加到表中?如何將代理自動增加鍵添加到表中?
我已經這樣做了。
SELECT IDENTITY(1,1) AS table_id, table_1.*
FROM table_1
但它沒有工作。
如何通過spark-sql將代理鍵(自動增加鍵如1,2,3,4 ...)添加到表中?如何將代理自動增加鍵添加到表中?
我已經這樣做了。
SELECT IDENTITY(1,1) AS table_id, table_1.*
FROM table_1
但它沒有工作。
Spark有一個方法,名爲monotonically_increasing_id
。這比row_number
更直接,更適合你的目的。您可以使用它像這樣:
SELECT MONOTONICALLY_INCREASING_ID() AS table_id, t1.*
FROM table_1 t1
ORDER BY <columns>
而且也不要忘記添加ORDER BY
,使您的代理鍵重複的。
您顯示的語法是針對SQL Server的。在Spark SQL中,可以使用row_number()
向結果集中添加一列。例如:
SELECT ROW_NUMBER() OVER (ORDER BY col) as table_id, t1.*
FROM table_1 t1;