in dbt/adapters/maxcompute/relation_configs/_partition.py [0:0]
def parse(cls, raw_partition_by) -> Optional["PartitionConfig"]:
if raw_partition_by is None:
return None
try:
new_dict = {}
for key, value in raw_partition_by.items():
if key in ["fields", "data_types"]:
new_dict[key] = [item.strip() for item in value.split(",")]
else:
new_dict[key] = value
res = cls.from_dict(new_dict)
res.post_validate()
return res
except TypeError:
raise dbt_common.exceptions.CompilationError(
f"Invalid partition_by config:\n"
f" Got: {raw_partition_by}\n"
f' Expected a dictionary with "fields" and "data_types" keys'
)