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;