我正在尝试存储一些pig元组数据,每行一个,稍后由外部系统处理。
我的一个字段是bytearray,它表示一个结构不太好的html,包含换行符。
我试过用 REPLACE($0.raw,'(\r\n|\n|\t)',''))
,没有用,因为它需要chararray并在我尝试强制转换它时返回错误。
压缩元组,只要它能保证一行,就能解决我的问题。
有没有一种简单的方法来确保记录存储在一行中(除了编写自定义自定义自定义项,尽管已经存在的自定义项是完美的)?
我正在尝试存储一些pig元组数据,每行一个,稍后由外部系统处理。
我的一个字段是bytearray,它表示一个结构不太好的html,包含换行符。
我试过用 REPLACE($0.raw,'(\r\n|\n|\t)',''))
,没有用,因为它需要chararray并在我尝试强制转换它时返回错误。
压缩元组,只要它能保证一行,就能解决我的问题。
有没有一种简单的方法来确保记录存储在一行中(除了编写自定义自定义自定义项,尽管已经存在的自定义项是完美的)?
1条答案
按热度按时间2izufjch1#
最后,我实现了一个自定义udf,将bytearray转换为base64,然后通过standard将其应用于罪犯字段
res = FOREACH parsed GENERATE my.little.pony.udf.package.ByteArrayToByteArrayB64($0.raw);
自定义项定义: