我使用磚sql筆記本運行這些查詢。
我有一個Python UDF
%從pyspark.sql python。函數從pyspark.sql進口udf。類型進口StringType、倍增式DateType def get_sell_price (sale_prices):返回sale_price [0] spark.udf。注冊(“get_sell_price”、get_sell_price倍增式())
這是運行在一個查詢
選擇id, get_sell_price (sell_price)從table_name組id按日期順序;
我想要“collect_list”內的銷售價格進行排序根據指定的列,但即使我查詢中提到它,它仍然不能維持秩序
@John君士坦丁“函數是不確定的,因為訂單收集的結果取決於訂單的行洗牌後可能是不確定的。”https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.collect_list.htm..。
在生產中通常使用collect_list並不是最好的解決方案。通常情況下,還有其他方法來實現所需要的。