我有一个文本文件与水平模式的记录,如何加载到一个关系使用这个文件。文件包含患者id和患者姓名。文件中的数据:001 rakesh 005 samir 006 daksh 010 kapil 456 sachin…等
2j4z5cfb1#
我不知道任何开箱即用的加载程序会以您的格式加载数据。你有两个选择。编写自定义 LoadFunc 修改输入文件,使每行只有一条记录。然后你就可以使用 PigStorage
LoadFunc
PigStorage
n1bvdmb62#
你应该预处理你的数据,或者你可以加载你的文件并创建一个自定义项来分割它。如果您想预处理数据,我建议您使用ruby或python等方便的语言创建一个脚本。看看这里的Python或者,如果您想创建一个udf,您可以使用googleguava库来分割行,然后创建一个带有元组的bug的输出。看看这里的谷歌Guava的例子。当然,您必须小心,因为这些方法可能存在可伸缩性问题。
2条答案
按热度按时间2j4z5cfb1#
我不知道任何开箱即用的加载程序会以您的格式加载数据。你有两个选择。
编写自定义
LoadFunc
修改输入文件,使每行只有一条记录。然后你就可以使用PigStorage
n1bvdmb62#
你应该预处理你的数据,或者你可以加载你的文件并创建一个自定义项来分割它。
如果您想预处理数据,我建议您使用ruby或python等方便的语言创建一个脚本。
看看这里的Python
或者,如果您想创建一个udf,您可以使用googleguava库来分割行,然后创建一个带有元组的bug的输出。
看看这里的谷歌Guava的例子。
当然,您必须小心,因为这些方法可能存在可伸缩性问题。