满屏网站设计做多大,域名申请后怎么建网站,西安网站建设网站,中国做的比较好的电商网站有哪些1.使用kettle设计一个能生成100个取值范围为0到100随机整数的转换。
为了完成该转换#xff0c;需要使用生成记录控件、生成随机数控件、计算器控件及字段选择控件。控件布局如下图所示 生成记录控件可以在限制框内指定生成记录的个数#xff0c;具体配置如图所示 生成随机数…1.使用kettle设计一个能生成100个取值范围为0到100随机整数的转换。
为了完成该转换需要使用生成记录控件、生成随机数控件、计算器控件及字段选择控件。控件布局如下图所示 生成记录控件可以在限制框内指定生成记录的个数具体配置如图所示 生成随机数控件可以用来生成随机种子生成0到1内的小数具体配置如图所示。 计算器控件可以用来对获得的小数进行映射将范围映射到0到100中。首先需要指定一个常量N值为100类型为Number接着将N和随机种子相乘的值存放到新的字段x中。具体配置如图所示。 最后使用字段选择控件删除多余字段。字段选择控件配置可参考
使用kettle进行日志分析_瑾寰的博客-CSDN博客
最后获得的效果如下图所示 2.使用kettle设计一个能求数据标准差和均值的转换输入数据从第一问获取。
在第1问的基础上添加一个单变量统计控件。
单变量统计控件具体配置如下图所示 在input field中选择需要计算的字段对于需要输出的字段选择为true其余为false。最后执行的结果如图所示 3. 在第2问的基础上设计一个转换任务是生成一个随机数并判断它是否处于2中均值的一个标准差内。
为了完成目标在第二问的基础上还需要使用记录关联笛卡尔输出控件和java代码控件具体布局如下图所示 其中记录关联控件用来将不同来源的数据连接具体配置如下 Java代码控件主要用来进行逻辑判断判断数据是否满足题目要求并增加新的字段ans作为结果具体配置如下 其中的代码如下 public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException { if (first) { first false; /* TODO: Your code here. (Using info fields) FieldHelper infoField get(Fields.Info, info_field_name); RowSet infoStream findInfoRowSet(info_stream_tag); Object[] infoRow null; int infoRowCount 0; // Read all rows from info step before calling getRow() method, which returns first row from any // input rowset. As rowMeta for info and input steps varies getRow() can lead to errors. while((infoRow getRowFrom(infoStream)) ! null){ // do something with info data infoRowCount; } */ } Object[] r getRow(); if (r null) { setOutputDone(); return false; } // It is always safest to call createOutputRow() to ensure that your output rows Object[] is large // enough to handle any new fields you are creating in this step. r createOutputRow(r, data.outputRowMeta.size()); /* TODO: Your code here. (See Sample) // Get the value from an input field String foobar get(Fields.In, a_fieldname).getString(r); foobar bar; // Set a value in a new output field get(Fields.Out, output_fieldname).setValue(r, foobar); */ // Send the row on to the next step. boolean ans false; double mean Double.parseDouble(get(Fields.In, x(mean)).getString(r)); double std Double.parseDouble(get(Fields.In, x(stdDev)).getString(r)); double x Double.parseDouble(get(Fields.In, x).getString(r)); if(x(mean-std) x(meanstd)){ ans true; } System.out.println(hha); ans true; get(Fields.Out, ans).setValue(r, ans); putRow(data.outputRowMeta, r); return true; }
运行结果如下图所示