如何在 PIG 中拆分字符 '\' 中的元组

How to split a tuple in character '\' in PIG

我刚开始学习 PIG,我想拆分字符 '\' 中的元组。 我原来的元组是

(192.168.2.227\al0000)

我需要把它拆分成'\'

(192.168.2.227, al0000)

我尝试使用

B =  FOREACH original GENERATE FLATTEN (STRSPLIT(tuple, '\u034B'));

但它不起作用。什么是正确的解决方案?

您尝试用 '\\' 代替奇怪的 unicode 代码点 u034B 吗?

输入:

192.168.2.227\al0000

猪脚本:

A = LOAD 'input.csv' as line;  
B = FOREACH A GENERATE FLATTEN (STRSPLIT(line, '([\\])'));
dump B; 

使用的第二个参数是用于识别“\”的正则表达式

输出:

(192.168.2.227,al0000)

参考

  1. http://pig.apache.org/docs/r0.14.0/func.html#strsplit
  2. Can't escape the backslash with regex?