我希望生成适合业务规则的随机数据,以了解数据的外观。
数据大约有10列和1000条记录。
列值也可能依赖于另一个值,并且可能存在影响数据的其他业务规则。
示例数据可能如下所示:
ID Deal_ID No_of_trade price quantity start_date end_date
1 2014-10-14 50 100 70 2014-10-14 2014-10-15
2 2014-10-15 80 105 90 2014-10-15 2014-10-17
在此示例中,start_date
依赖于deal_id
(deal_date)和
end_date
取决于start_date
答案 0 :(得分:1)
为此,您需要使用tRowGenerator为您提供数据的主要部分,然后使用tMap对此数据进行一些转换,以便为您提供完整的输出数据。
一个简单的工作可能看起来像:
在此我们将tRowGenerator配置为:
其中给出了Deal_id
的日期,交易数量,价格和数量的随机整数,最后是我们将start_date
添加到我们end_date
的交易天数的随机整数获得Deal_id
。
在此之后,我们使用ID
字段上的tSortRow进行排序,以便它们按升序排列。
最后我们使用tMap将数据转换为您想要的输出:
这为我们提供了使用Talend中Numeric.sequence
功能的start_date
,将Deal_id
设置为与end_date
相同,然后设置start_date
是我们在tRowGenerator中生成的.---+----------+-----------+-----+--------+----------+----------.
| tLogRow_7 |
|=--+----------+-----------+-----+--------+----------+---------=|
|id |Deal_Id |No_of_Trade|Price|Quantity|Start_Date|End_Date |
|=--+----------+-----------+-----+--------+----------+---------=|
|1 |01-10-2014|86 |144 |136 |01-10-2014|06-10-2014|
|2 |02-10-2014|59 |138 |114 |02-10-2014|04-10-2014|
|3 |03-10-2014|86 |103 |51 |03-10-2014|09-10-2014|
|4 |04-10-2014|37 |126 |50 |04-10-2014|08-10-2014|
|5 |04-10-2014|49 |115 |80 |04-10-2014|06-10-2014|
|6 |04-10-2014|54 |112 |26 |04-10-2014|08-10-2014|
...
|95 |23-12-2014|2 |138 |72 |23-12-2014|27-12-2014|
|96 |23-12-2014|94 |123 |120 |23-12-2014|26-12-2014|
|97 |26-12-2014|33 |107 |131 |26-12-2014|28-12-2014|
|98 |27-12-2014|36 |125 |55 |27-12-2014|02-01-2015|
|99 |29-12-2014|59 |109 |55 |29-12-2014|03-01-2015|
|100|31-12-2014|44 |141 |88 |31-12-2014|02-01-2015|
'---+----------+-----------+-----+--------+----------+----------'
之后的随机生成天数。
输出看起来像这样:
{{1}}