def column_like(name, patterns, default):
""" patterns: dict[label, list[match_expr]]"""
# start with the pyspark.sql.functions
op = F
for label in patterns:
cond = reduce(
operator.__or__,
[F.col(name).like(pat) for pat in patterns[label]]
)
op = op.when(cond, label)
return op.otherwise(default)
评论列表
文章目录