在Apache Pig中,可以使用REGEX_EXTRACT
函数来提取字符串中符合正则表达式的部分。下面是一个示例解决方法:
data = LOAD 'input.txt' AS (path: chararray);
extracted = FOREACH data GENERATE REGEX_EXTRACT(path, '/[^/]+/([^/]+)/', 1);
DUMP extracted;
假设输入文件input.txt
包含以下内容:
/home/user/dir1/dir2/file.txt
/home/user/dir3/dir4/file.txt
上述代码将提取每个路径中第二个目录名(例如"dir2"和"dir4"),并将结果输出。
请注意,正则表达式/[^/]+/([^/]+)/
用于匹配以斜杠分隔的路径中的第二个目录名。[^/]+
表示匹配任意数量的非斜杠字符,([^/]+)
用于捕获第二个目录名。
希望对你有帮助!