我的查询类似In [39]: mask = pd.to_numeric(df.Score, errors='coerce').isna()
In [40]: s = df.Score.copy()
In [41]: df.Score[mask] = df.City
In [42]: df.City[mask] = s
In [43]: df
Out[43]:
City Score
0 Istanbul 6.0749
1 Muscat 2.23607
2 Prague 4.38576
3 Shanghai 1.85958
4 Istanbul 6.0749
5 Singapore 5.17054
。
查询正在hive中工作,但它不能在Spark-SQL和spark中工作(在spark 1.6和2.0中都有效)。
我想知道如何在火花代码中实现这个逻辑 此查询是否有效,在frame与row_number函数之间有行?
答案 0 :(得分:1)
row_number
需要ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
帧,在这种情况下是默认值,因此可以省略。组合:
row_number() OVER (PARTITION BY foo ORDER BY bar)