如何在hadoop级联中加载一个固定宽度的文件,或者我们应该根据字段的特殊性使用任何外部udf来加载文件?我们应该如何在hadoop级联中调用外部udf?
gorkyyrv1#
据我所知没有固定宽度的水龙头。定制水龙头是痛苦的实现(相信我,我知道)。所以我们不用担心。最简单的方法是在点击时使用textlinescheme。输入管道应该做的第一件事是转到自定义函数。您的输入方案是一个包含两列的元组:offset和line。您希望使用该线(忽略偏移)。函数解析列并返回一个新的tupleentry,其中包含由实际数据定义的字段。扩展baseoperation时,传递函数将在 super(new Fields("FirstName", "LastName", "etc)) ;完成此操作后,将函数的输出管道传递给下游流的其余部分。
super(new Fields("FirstName", "LastName", "etc))
1条答案
按热度按时间gorkyyrv1#
据我所知没有固定宽度的水龙头。定制水龙头是痛苦的实现(相信我,我知道)。所以我们不用担心。
最简单的方法是在点击时使用textlinescheme。输入管道应该做的第一件事是转到自定义函数。您的输入方案是一个包含两列的元组:offset和line。您希望使用该线(忽略偏移)。函数解析列并返回一个新的tupleentry,其中包含由实际数据定义的字段。扩展baseoperation时,传递函数将在
super(new Fields("FirstName", "LastName", "etc))
;完成此操作后,将函数的输出管道传递给下游流的其余部分。