如何生成海量数据?

AAa*_*Aaa 8 java hadoop nutch bigdata

我正在用nutch和hadoop做一些测试,我需要大量的数据.我想从20GB开始,到100GB,500GB,最终达到1-2TB.

问题是我没有这么多数据,所以我正在考虑如何制作它.

数据本身可以是任何类型.一个想法是获取一组初始数据并复制它.但它不够好,因为需要彼此不同的文件(相同的文件被忽略).

另一个想法是编写一个程序,用于创建具有虚拟数据的文件.

还有其他想法吗?

Ite*_*tor 7

对于统计StackExchange站点,这可能是一个更好的问题(例如,请参阅我关于生成合成数据的最佳实践的问题).

但是,如果您对作为操作和处理数据的基础结构的数据属性不太感兴趣,那么您可以忽略统计信息站点.特别是,如果您不专注于数据的统计方面,只想要"大数据",那么我们可以专注于如何生成大量数据.

我可以提供几个答案:

  1. 如果您只对随机数字数据感兴趣,请从您最喜欢的Mersenne Twister实现中生成一个大流.还有/ dev/random(有关更多信息,请参阅此Wikipedia条目).我更喜欢一个已知的随机数生成器,因为结果可以被其他人恶心再现.

  2. 对于结构化数据,您可以查看将随机数映射到索引并创建一个将索引映射到字符串,数字等的表,例如在生成名称,地址等数据库时可能遇到的情况.如果您有一个足够大的表或一个足够丰富的映射目标,你可以降低碰撞的风险(例如相同的名称),虽然你可能想要发生一些碰撞,因为这些也会在现实中发生.

  3. 请记住,使用任何生成方法,您无需在开始工作之前存储整个数据集.只要您记录状态(例如RNG),您就可以从中断的地方继续.

  4. 对于文本数据,您可以查看简单的随机字符串生成器.您可以为不同长度或不同特征的字符串的概率创建自己的估计值.对于句子,段落,文档等也可以这样做 - 只需确定要模拟的属性,创建"空白"对象,并用文本填充它.