datafaker icon indicating copy to clipboard operation
datafaker copied to clipboard

模拟多表关联数据 通过制定某些字段为枚举类型(从指定的数据列表里面随机选择),这样在数据量多的情况下能保证多表Join能关联上,查询到数据

Open puxinhe opened this issue 5 years ago • 7 comments

@gangly 如标题:模拟多表关联数据 通过制定某些字段为枚举类型(从指定的数据列表里面随机选择),这样在数据量多的情况下能保证多表Join能关联上,查询到数据 这句话,如何理解???

puxinhe avatar Jun 21 '19 05:06 puxinhe

就是两个表需要关联的字段都用同一份枚举类型。那么生成的数据在两个表中会有相同的,就能关联上

gangly avatar Jun 21 '19 09:06 gangly

举个例子,A表有两个字段证券代码,证券名称,分别要从B表中取,是不是把B表中字段制定为枚举类型,然后随机取呢?

liuzhengxing avatar Nov 18 '19 09:11 liuzhengxing

举个例子,A表有两个字段证券代码,证券名称,分别要从B表中取,是不是把B表中字段制定为枚举类型,然后随机取呢?

目前只能实现: 把b表中数据导出为文件,在A表指定枚举类型和文件路径,A表字段会随机从文件取值

gangly avatar Nov 18 '19 09:11 gangly

这个很多场景是一对一关系。。。是否可以顺序取值,生成条数和主表一致,比较关注

alex-yul avatar Nov 20 '19 02:11 alex-yul

这个很多场景是一对一关系。。。是否可以顺序取值,生成条数和主表一致,比较关注

增加了order_enum类型,用于解决这个问题

gangly avatar Nov 28 '19 02:11 gangly

作者你好,关于order_enum类型实在没看懂,能不能举个小例子,以及在编写meta.txt文件时,应该怎么使用?

weiweijiayou avatar Mar 27 '20 12:03 weiweijiayou

作者你好,关于order_enum类型实在没看懂,能不能举个小例子,以及在编写meta.txt文件时,应该怎么使用?

是这样的场景,比如表里面有两个字段需要一一对应,一个是城市编码,一个城市名, city_code|||varchar|||[:order_enum(file://code.txt)] city_name|||varchar|||[:order_enum(file://names.txt)]

其中code.txt为城市编码,names.txt为城市名,两个文件行数相同,每行内容一一对应 用order_enum按顺序取值,能确保两个字段取得城市编码和城市名一一对应

gangly avatar Mar 27 '20 13:03 gangly