我尝试使用hadoop terasort,它与teragen和teravalid一起使用效果很好。
然后我想知道terasort如何工作。我认为terasort的工作方式类似于linux中的sort命令。所以我做了一个文本文件,如下所示:

I have a pen.
my name is ~
I went to my lab yesterday
...

然后运行terasort,但返回错误“read over eof”。

我看到了teragen生成的“part-m-00000”,但听不懂。

请告诉我Terasort的工作方式。

最佳答案

Terasort不需要TB级的输入数据,但它确实假定数据采用Teragen生成的格式。进一步来说:

  • (10个字节的键)(10个字节的rowid)(78个字节的填充符)\ r \ n
  • 键是集合''..'〜'中的随机字符。
  • rowid是作为int的右对齐的行ID。
  • 填充程序由7个字符组成,从'A'到'Z'的10个字符。
  • 10-07 22:06