xmloader使用pig拉丁语

gfttwv5a  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(389)
<user>

<ids>
<id>
456
</id>
<id>
123
</id>
</ids>

<username>
Taylor
</username>
</user>

上面的一个运行成功,但存储了0条记录
请帮帮我

wwodge7n

wwodge7n1#

你需要添加一个 singleline 的模式选项 . 匹配换行符,或 [\\s\\S]* 要解决这个问题:

B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(x, '<user>\\n\\s*<id>([\\s\\S]*)</id>\\n\\s*<username>([\\s\\S]*)</username>\\n\\s*</user>'))

甚至忽略 \n\s 已经捕捉到了:

B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(x, '<user>\\s*<id>([\\s\\S]*)</id>\\s*<username>([\\s\\S]*)</username>\\s*</user>'))

相关问题