我正在处理pyspark,需要编写一个从配置单元表读取数据并返回一个包含所有列和行号的pysparkDataframe的查询。
这就是我所尝试的:
SELECT *, ROW_NUMBER() OVER () as rcd_num FROM schema_name.table_name
此查询在配置单元中工作正常,但当我从pyspark脚本运行它时,会引发以下错误:
Window function row_number() requires window to be ordered, please add ORDER BY clause. For example SELECT row_number()(value_expr) OVER (PARTITION BY window_partition ORDER BY window_ordering) from table;
请提出一些解决办法。
注意:我不希望按任何特定顺序对行进行排序,我只需要表中所有行的行号,而不需要任何排序或排序。
使用spark 2.1
1条答案
按热度按时间iibxawm41#
ROW_NUMBER()
可能需要订购才能使用monotonicallyIncreasingId
函数,该函数为表中的所有行提供行号。或
SELECT *, ROW_NUMBER() OVER (Order by (select NULL)) as rcd_num FROM schema_name.table_name
你可以通过select NULL