什么数据生成器?

时间:2009-08-22 18:09:50

标签: sql database csv

我即将发布一个FOSS数据生成器,它可以生成CSV格式的随机但有意义的数据。相反,我猜,我需要对这些产品的最新技术进行评估 - 因为如果有一个众所周知且有用的现有工具,我可以写下我的工作来体验。我知道一些SQL Server特定的工具,但我的不是特定于数据库的。

那么,链接?如果您使用过这样的产品, 你觉得哪些功能丢失了?

编辑:要在我的工具上添加更多信息(Ooh,Matron!),它旨在允许从现有数据文件生成任何类型的随机数据,以及 支持加权。它是基于XML的(抱歉,伙计),让你说:

<pick distribute="20,80" >
  <datafile  file="femalenames.dat"/>
  <datafile  file="malenames.dat"/>
<pick/>

大约20%的时间选择女性名字,80%的时间选择男性名字。

但这个问题的目的不是描述我的产品,而是获取其他工具的信息。

最新消息:如果有人有兴趣,可以在http://code.google.com/p/csvtest

获取数据生成器的alpha值

2 个答案:

答案 0 :(得分:1)

这可以是R中的单行,我使用littler脚本前端:

# generate the data as a one-liner from the command-line
# we set the RNG seed, and draw from a bunch of distributions
# indented just to fit the box here
edd@ron:~$ r -e'set.seed(42); write.csv(data.frame(y=runif(10), x1=rnorm(10),    
                x2=rt(10,4), x3=rpois(10, 0.4)), file="/tmp/neil.csv", 
                quote=FALSE, row.names=FALSE)'
edd@ron:~$ cat /tmp/neil.csv
y,x1,x2,x3
0.914806043496355,-0.106124516091484,0.830735621223563,0
0.937075413297862,1.51152199743894,1.6707628713402,0
0.286139534786344,-0.0946590384130976,-0.282485683052060,0
0.830447626067325,2.01842371387704,0.714442314565005,0
0.641745518893003,-0.062714099052421,-1.08008578470128,0
0.519095949130133,1.30486965422349,2.28674786332467,0
0.736588314641267,2.28664539270111,-0.73270267483628,1
0.134666597237810,-1.38886070111234,-1.45317770550920,1
0.656992290401831,-0.278788766817371,-1.01676025893376,1
0.70506478403695,-0.133321336393658,0.404860813371462,0
edd@ron:~$

您还没有说过关于数据生成过程的任何,但请放心,R可能可以应对任何要求,包括多变量normal,t,skew-t等。 R中的(六个不同的)随机数发生器也具有很高的质量。

R也可以写入DB,或从中读取参数,如果需要在Windoze上,则可以使用Rscript前端代替littler。

答案 1 :(得分:1)

几个月前我问了一个类似的问题:

Tools for Generating Mock Data?

我得到了一些真诚的建议,但大多数都不适合我的需要。要么是昂贵的(非自由的)软件,要么是不够灵活的w.r.t.数据类型和数据库结构,或模拟数据的范围,或者速度太慢(例如Rails ActiveRecord解决方案)。

我一直在寻找的功能是:

  • 生成模拟数据以填充现有数据库表
  • 快速生成&gt; 100万行
  • 生成适合导入的SQL脚本格式或平面文件
  • 可编写脚本的命令行界面,而不是GUI
  • 不依赖于Microsoft Windows环境

很棒的功能:

  • 可扩展的/可配置
  • 开源免费许可
  • 用Perl / PHP / Python等动态语言编写
  • 将其指向数据库并让它“发现”元数据
  • 与测试工具集成(例如DbUnit)
  • 在生成数据时直接填入数据库的选项

我接受的答案为Databene Benerator。虽然问了这个问题,但我承认我没有用过它。

我很惊讶即使在询问社区时,生成模拟数据的工具范围也很薄。这似乎是一个等待填补的利基!我很想知道你发布了什么。