Hem*_*kar 2 azure hdinsight apache-spark pyspark
我正在使用pyspark作为代码语言。我添加了列以获取带有路径的文件名。
from pyspark.sql.functions import input_file_name
data = data.withColumn("sourcefile",input_file_name())
Run Code Online (Sandbox Code Playgroud)
我只想从此列中检索带有其父文件夹的文件名。请帮忙。
例:
Inputfilename = "adl://dotdot.com/ingest/marketing/abc.json"
Run Code Online (Sandbox Code Playgroud)
我正在寻找的输出是:
marketing/abc.json
Run Code Online (Sandbox Code Playgroud)
注意:我可以做字符串操作。filepath列是数据框的一部分。
如果要将值保留在数据框列中,则可以使用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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |