我有一个以“|”为分隔符的文本输入
0.0000|25000| |BM|BM901002500109999998|SZ
我用pigstorage拆分了它
A = LOAD '/user/hue/data.txt' using PigStorage('|');
现在我需要根据位置将字段bm90100250010999998拆分为不同的字段,比如0-2=bm-field1等等。所以在这一步之后,我应该得到bm,901002500,10999998。在pig脚本中是否有任何方法可以实现这一点,否则我计划编写一个udf并在所需的位置放置分隔符。
谢谢。
2条答案
按热度按时间pod7payv1#
你在找什么
SUBSTRING
:输出为:
你可以在这里找到更多关于这个函数的信息。
wa7juj8i2#
我认为使用内置的udf regex\u extract\u all会更有效率。
您可以通过以下途径了解如何使用此自定义项:
http://pig.apache.org/docs/r0.8.1/piglatin_ref2.html#regex_extract_all
strsplit和regex都用piglatin提取