我尝试使用hadoopterasort,它与teragen和teravalid配合得很好。然后我想知道terasort是如何工作的。我以为terasort就像一个 sort
命令。所以我做了一个文本文件如下:
I have a pen.
my name is ~
I went to my lab yesterday
...
然后运行terasort,但返回错误“read over eof”。
我看到了teragen生成的“part-m-00000”,但不明白。
请告诉我terasort是怎么工作的。
2条答案
按热度按时间xmq68pz91#
eof意味着文件在读取1 TB(随机分布的)数据之前就被完全消耗了
因此,它在尝试排序之前退出
vmpqdwk32#
terasort不需要TB的输入数据,但它确实假设数据是teragen生成的格式。更具体地说:
(10字节键)(10字节行ID)(78字节填充符)\r\n
这些键是集合“”..“~”中的随机字符。
rowid是右对齐的行id,表示int。
填充符由7行10个字符组成,从“a”到“z”。