mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-31 18:59:23 +00:00
fix(ingest/s3): wrong sorting in case of multi-partition key (#8536)
This commit is contained in:
parent
ea95e36c2b
commit
bb33f015ca
@ -178,9 +178,9 @@ def partitioned_folder_comparator(folder1: str, folder2: str) -> int:
|
||||
try:
|
||||
# Stripping = from the folder names as it most probably partition name part like year=2021
|
||||
if "=" in folder1 and "=" in folder2:
|
||||
if folder1.split("=", 1)[0] == folder2.split("=", 1)[0]:
|
||||
folder1 = folder1.split("=", 1)[1]
|
||||
folder2 = folder2.split("=", 1)[1]
|
||||
if folder1.rsplit("=", 1)[0] == folder2.rsplit("=", 1)[0]:
|
||||
folder1 = folder1.rsplit("=", 1)[-1]
|
||||
folder2 = folder2.rsplit("=", 1)[-1]
|
||||
|
||||
num_folder1 = int(folder1)
|
||||
num_folder2 = int(folder2)
|
||||
|
||||
@ -8,6 +8,12 @@ def test_partition_comparator_numeric_folder_name():
|
||||
assert partitioned_folder_comparator(folder1, folder2) == -1
|
||||
|
||||
|
||||
def test_partition_multi_level_key():
|
||||
folder1 = "backup/metadata_aspect_v2/year=2023/month=01"
|
||||
folder2 = "backup/metadata_aspect_v2/year=2023/month=2"
|
||||
assert partitioned_folder_comparator(folder1, folder2) == -1
|
||||
|
||||
|
||||
def test_partition_comparator_numeric_folder_name2():
|
||||
folder1 = "12"
|
||||
folder2 = "3"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user