azure - Spark - 如何从数据框列获取带有父文件夹的文件名
问题描述
我使用 pyspark 作为代码语言。我添加了列以获取带有路径的文件名。
from pyspark.sql.functions import input_file_name
data = data.withColumn("sourcefile",input_file_name())
我只想从此列中检索带有父文件夹的文件名。请帮忙。
例子:
Inputfilename = "adl://dotdot.com/ingest/marketing/abc.json"
我正在寻找的输出是:
marketing/abc.json
注意:字符串操作我可以做。文件路径列是数据框的一部分。
解决方案
如果要将值保留在数据框列中,可以使用 pyspark.sql.function regexp_extract。您可以将其应用于具有 path 值的列并传递提取所需部分所需的正则表达式:
data = data.withColumn("sourcefile",input_file_name())
regex_str = "[\/]([^\/]+[\/][^\/]+)$"
data = data.withColumn("sourcefile", regexp_extract("sourcefile",regex_str,1))
推荐阅读
- python - 如何让表单集继承表单的样式?我的意思是,如何在 Django 中设置表单集的样式?
- javascript - 访问我知道存在的 iam Cognito 属性时,AWS Lambda 错误“iam 属性不存在”
- javascript - 带有 Netlify 功能的 Notion API
- javascript - 使用 Web 组件时文档未定义
- python - 在允许基线完成的同时限制函数调用的时间
- amazon-web-services - 如何使用 AWS ALB ECS .netcore API 设置 https?
- rust - 通过两个向量嵌套for循环
- python - 保存/加载数据(使用python)将在很长一段时间内每周更新的最佳策略是什么?
- python - Flask SQLAlchemy MySql 错误 1045 用户'root'@'localhost'的访问被拒绝(使用密码:否)
- python - Pygame 窗口打不开