本文整理汇总了Java中org.pentaho.di.trans.steps.groupby.GroupByMeta类的典型用法代码示例。如果您正苦于以下问题:Java GroupByMeta类的具体用法?Java GroupByMeta怎么用?Java GroupByMeta使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GroupByMeta类属于org.pentaho.di.trans.steps.groupby包,在下文中一共展示了GroupByMeta类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: convertAggType
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
private int convertAggType( AggregationType type ) {
switch ( type ) {
case NONE:
return GroupByMeta.TYPE_GROUP_NONE;
case AVERAGE:
return GroupByMeta.TYPE_GROUP_AVERAGE;
case SUM:
return GroupByMeta.TYPE_GROUP_SUM;
case COUNT:
return GroupByMeta.TYPE_GROUP_COUNT_ALL;
case COUNT_DISTINCT:
return GroupByMeta.TYPE_GROUP_COUNT_DISTINCT;
case MINIMUM:
return GroupByMeta.TYPE_GROUP_MIN;
case MAXIMUM:
return GroupByMeta.TYPE_GROUP_MAX;
default:
return GroupByMeta.TYPE_GROUP_NONE;
}
}
开发者ID:pentaho,项目名称:pentaho-metadata,代码行数:21,代码来源:InlineEtlQueryExecutor.java
示例2: testMemoryGroupByNoInputData
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
/**
* This case tests when the MemoryGroupBy step receives 0 input rows, and also no row meta is in the previous step,
* whether it throws an error and fails, or ends successfully without error, while passing no output rows.
* See PDI-12501 for details
*/
@Test
public void testMemoryGroupByNoInputData() throws KettleException {
MemoryGroupByMeta meta = new MemoryGroupByMeta();
meta.setSubjectField( new String[]{ KEY2 } );
meta.setAggregateField( new String[]{ OUT1 } );
meta.setGroupField( new String[]{ KEY1 } );
meta.setAggregateType( new int[] { GroupByMeta.TYPE_GROUP_CONCAT_COMMA } );
TransMeta transMeta = TransTestFactory.generateTestTransformation( null, meta, stepName, getTestRowMeta() );
List<RowMetaAndData> inputList = new ArrayList<RowMetaAndData>();
List<RowMetaAndData> result = null;
try {
result =
TransTestFactory.executeTestTransformation( transMeta, stepName, inputList );
} catch ( KettleException e ) {
Assert.fail();
}
Assert.assertNotNull( result );
Assert.assertEquals( 0, result.size() );
}
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:26,代码来源:MemoryGroupByIntIT.java
示例3: getAggregateResult
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
private Object[] getAggregateResult(Aggregate aggregate) throws KettleValueException
{
Object[] result = new Object[data.subjectnrs.length];
if (data.subjectnrs!=null)
{
for (int i=0;i<data.subjectnrs.length;i++)
{
Object ag = aggregate.agg[i];
switch(meta.getAggregateType()[i])
{
case MemoryGroupByMeta.TYPE_GROUP_SUM : break;
case MemoryGroupByMeta.TYPE_GROUP_AVERAGE :
ag=ValueDataUtil.divide(data.aggMeta.getValueMeta(i), ag,
new ValueMeta("c",ValueMetaInterface.TYPE_INTEGER), new Long(aggregate.counts[i]));
break; //$NON-NLS-1$
case MemoryGroupByMeta.TYPE_GROUP_COUNT_ALL : ag=new Long(aggregate.counts[i]); break;
case MemoryGroupByMeta.TYPE_GROUP_COUNT_DISTINCT : break;
case MemoryGroupByMeta.TYPE_GROUP_MIN : break;
case MemoryGroupByMeta.TYPE_GROUP_MAX : break;
case MemoryGroupByMeta.TYPE_GROUP_STANDARD_DEVIATION :
double sum = (Double)ag / aggregate.counts[i];
ag = Double.valueOf( Math.sqrt( sum ) );
break;
case GroupByMeta.TYPE_GROUP_CONCAT_COMMA:;
case GroupByMeta.TYPE_GROUP_CONCAT_STRING:
ag = ((StringBuilder) ag).toString();
break;
default: break;
}
result[i]=ag;
}
}
return result;
}
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:38,代码来源:MemoryGroupBy.java
示例4: testMemoryGroupByAlwaysReturnARow
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
/**
* This case tests when the MemoryGroupBy step receives 0 input rows, and also no row meta is in the previous step,
* whether it throws an error and fails, or ends successfully without error, while passing no output rows.
* See PDI-15415 for details
*/
@Test
public void testMemoryGroupByAlwaysReturnARow() throws KettleException {
MemoryGroupByMeta meta = new MemoryGroupByMeta();
meta.setSubjectField( new String[]{ KEY2 } );
meta.setAggregateField( new String[]{ OUT1 } );
meta.setGroupField( new String[]{ KEY1 } );
meta.setAggregateType( new int[] { GroupByMeta.TYPE_GROUP_CONCAT_COMMA } );
meta.setAlwaysGivingBackOneRow( true );
TransMeta transMeta = TransTestFactory.generateTestTransformation( null, meta, stepName, getTestRowMeta() );
List<RowMetaAndData> inputList = new ArrayList<RowMetaAndData>();
List<RowMetaAndData> result = null;
try {
result =
TransTestFactory.executeTestTransformation( transMeta, stepName, inputList );
} catch ( KettleException e ) {
Assert.fail();
}
Assert.assertNotNull( result );
Assert.assertEquals( 1, result.size() );
Assert.assertEquals( KEY1, result.get( 0 ).getValueMeta( 0 ).getName() );
Assert.assertEquals( ValueMetaInterface.TYPE_STRING, result.get( 0 ).getValueMeta( 0 ).getType() );
Assert.assertNull( result.get( 0 ).getString( 0, null ) );
Assert.assertEquals( OUT1, result.get( 0 ).getValueMeta( 1 ).getName() );
Assert.assertEquals( ValueMetaInterface.TYPE_STRING, result.get( 0 ).getValueMeta( 1 ).getType() );
Assert.assertNull( result.get( 0 ).getString( 1, null ) );
}
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:33,代码来源:MemoryGroupByIntIT.java
示例5: GroupByDialog
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
public GroupByDialog(Shell parent, Object in, TransMeta transMeta, String sname)
{
super(parent, (BaseStepMeta)in, transMeta, sname);
input=(GroupByMeta)in;
inputFields =new HashMap<String, Integer>();
}
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:7,代码来源:GroupByDialog.java
示例6: testMemoryGroupByNullAggregationsConversion
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
/**
* This case to test calculation value conversion for MemoryGroupBy, see PDI-11530
* See PDI-11897 for additional details - this case has commented lines which can be real
* bugs. Uncomment code when PDI-11897 will be fixed some day.
*/
@Test
public void testMemoryGroupByNullAggregationsConversion() throws KettleException {
// this to force null aggregations becomes nulls
System.getProperties().setProperty( Const.KETTLE_AGGREGATION_ALL_NULLS_ARE_ZERO, "Y" );
MemoryGroupByMeta meta = new MemoryGroupByMeta();
meta.setSubjectField( new String[] { KEY1, KEY2, KEY3, KEY4 } );
meta.setAggregateField( new String[] { OUT1, OUT2, OUT3, OUT4 } );
meta.setGroupField( new String[] { KEY1 } );
meta.setAggregateType( new int[] { GroupByMeta.TYPE_GROUP_CONCAT_COMMA, GroupByMeta.TYPE_GROUP_SUM,
GroupByMeta.TYPE_GROUP_SUM, GroupByMeta.TYPE_GROUP_SUM } );
TransMeta transMeta = TransTestFactory.generateTestTransformation( null, meta, stepName );
List<RowMetaAndData> inputList = getTestRowMetaAndData( 2, new Integer[] { 0, 1 } );
List<RowMetaAndData> ret =
TransTestFactory.executeTestTransformation( transMeta, stepName, inputList );
Assert.assertNotNull( "At least it is not null", ret );
Assert.assertEquals( "Ouput is just one row", 1, ret.size() );
RowMetaAndData rmd = ret.get( 0 );
// now take a closer look at value meta types we do have at the end:
ValueMetaInterface vmi = rmd.getValueMeta( 0 );
Assert.assertEquals( "First is usually is grouping field", ValueMetaInterface.TYPE_STRING, vmi.getType() );
Assert.assertEquals( "This is key1 field", KEY1, vmi.getName() );
vmi = rmd.getValueMeta( 1 );
Assert.assertEquals( "The next value is first aggregation", OUT1, vmi.getName() );
Assert.assertEquals( "Since it was null String output will be empty string", "", rmd.getData()[1] );
vmi = rmd.getValueMeta( 2 );
Assert.assertEquals( "Third field is second output field", OUT2, vmi.getName() );
// TODO fix it for GroupBy or MemoryGroupBy
/*
* Assert.assertEquals( "This is a bug of MemoryGroupBy - memory group by returns Double, while" +
* "GroupBy returns Long. So this test will fail here", 0L, rmd .getData()[2] );
*/
vmi = rmd.getValueMeta( 3 );
Assert.assertEquals( "4 is 3 output field", OUT3, vmi.getName() );
Assert.assertEquals( "And since it was null it become correct 0", 0.0, rmd.getData()[3] );
// TODO fix Memory Group By. Waiting for clarification.
/*vmi = rmd.getValueMeta( 4 );
Assert.assertEquals( "For this case we have silent BigDecimal to Double conversion that can"
+ " lead to loss of accuracy. This is serious issue and we can't just ignore it.", BigDecimal.class, rmd
.getData()[4].getClass() );
Assert.assertEquals( "And the last one is null which becomes 0 BigNumber", new BigDecimal( 0 ),
rmd.getData()[4] );*/
}
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:56,代码来源:MemoryGroupByIntIT.java
示例7: GroupByDialog
import org.pentaho.di.trans.steps.groupby.GroupByMeta; //导入依赖的package包/类
public GroupByDialog( Shell parent, Object in, TransMeta transMeta, String sname ) {
super( parent, (BaseStepMeta) in, transMeta, sname );
input = (GroupByMeta) in;
inputFields = new HashMap<String, Integer>();
}
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:6,代码来源:GroupByDialog.java
注:本文中的org.pentaho.di.trans.steps.groupby.GroupByMeta类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论