我目前正在尝试对大量数据进行排序,并使用PySpark将其写入json行对象(底层存储机制为S3,我使用AWS胶水来触发代码)。我有以下代码:
dataframe_with_year_month_columns
.orderBy("field1","field2").write.format("json")
.partitionBy("year","month").mode("overwrite").save(v_target_path)
当我检查输出时,其中一些命令的正确排序如下:
{"field1", "field2", "value", "value", "value"}
{"field1", "field2", "value", "value", "value"}
{"field1", "field2", "value", "value", "value"}
{"field1", "field2", "value", "value", "value"}
但是,某些部分未正确排序:
{"field1", "field2", "value", "value", "value"}
{"field2", "field1", "value", "value", "value"}
{"field1", "field2", "value", "value", "value"}
{"field2", "field1", "value", "value", "value"}
如何确保对分区(同一年和月份中的记录)进行正确排序?不必在整个年份和月份内对整个数据集的记录进行排序。