如何使用pig以水平模式加载具有记录的文件

whhtz7ly  于 2021-06-25  发布在  Pig
关注(0)|答案(2)|浏览(310)

我有一个文本文件与水平模式的记录,如何加载到一个关系使用这个文件。
文件包含患者id和患者姓名。
文件中的数据:001 rakesh 005 samir 006 daksh 010 kapil 456 sachin…等

2j4z5cfb

2j4z5cfb1#

我不知道任何开箱即用的加载程序会以您的格式加载数据。你有两个选择。
编写自定义 LoadFunc 修改输入文件,使每行只有一条记录。然后你就可以使用 PigStorage

n1bvdmb6

n1bvdmb62#

你应该预处理你的数据,或者你可以加载你的文件并创建一个自定义项来分割它。
如果您想预处理数据,我建议您使用ruby或python等方便的语言创建一个脚本。
看看这里的Python
或者,如果您想创建一个udf,您可以使用googleguava库来分割行,然后创建一个带有元组的bug的输出。
看看这里的谷歌Guava的例子。
当然,您必须小心,因为这些方法可能存在可伸缩性问题。

相关问题