Refine search
public static Fields mask( Fields fields, Fields mask ) { Comparable[] elements = expand( fields.size(), 0 ); System.arraycopy( fields.fields, 0, elements, 0, elements.length ); for( int i = elements.length - 1; i >= 0; i-- ) { Comparable element = elements[ i ]; if( element instanceof Integer ) continue; if( mask.getIndex().containsKey( element ) ) elements[ i ] = i; } return new Fields( elements ); }
@Test public void testCoerceCanonical() { final SimpleDateFormat dateFormat = new SimpleDateFormat( "dd/MMM/yyyy:HH:mm:ss:SSS Z" ); Date date = new Date(); String stringDate = dateFormat.format( date ); CoercibleType coercible = new DateType( "dd/MMM/yyyy:HH:mm:ss:SSS Z", TimeZone.getDefault() ); Fields fields = Fields.size( 2 ).applyTypes( coercible, long.class ); Tuple tuple = new Tuple( date.getTime(), date.getTime() ); TupleEntry results = new TupleEntry( fields, tuple ); assertEquals( date.getTime(), results.getObject( 0 ) ); assertEquals( date.getTime(), results.getLong( 0 ) ); assertEquals( stringDate, results.getString( 0 ) ); assertEquals( date.getTime(), results.getObject( 1 ) ); assertEquals( date.getTime(), results.getLong( 1 ) ); assertEquals( Long.toString( date.getTime() ), results.getString( 1 ) ); }
@Test public void testResolveIndexOnly3() { Fields declarationA = new Fields( 0, 1 ); Fields declarationB = new Fields( 0, 1 ); Fields selectA = new Fields( 2 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", 2, got.get( 0 ) ); }
@Test public void testResolveIndexAppended() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( 0 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "a", got.get( 0 ) ); }
@Test public void testResolveIndexAppended4() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( 3 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "d", got.get( 0 ) ); }
@Test public void testResolveIndexOnly2() { Fields declarationA = new Fields( 0, 1 ); Fields declarationB = new Fields( 0, 1 ); Fields selectA = new Fields( 1 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", 1, got.get( 0 ) ); }
public SelfCoGroupGraph() { Map sources = new HashMap(); NonTap sourceLower = new NonTap( "lower", new Fields( "offset", "line" ) ); sources.put( "lower", sourceLower ); Map sinks = new HashMap(); sinks.put( "sink", new NonTap( "sink", new Fields( "offset", "line" ) ) ); Function splitter = new RegexSplitter( new Fields( "num", "char" ), " " ); Pipe lower = new Pipe( "lower" ); Pipe pipeLower = new Each( new Pipe( "lhs", lower ), new Fields( "line" ), splitter ); Pipe pipeUpper = new Each( new Pipe( "rhs", lower ), new Fields( "line" ), splitter ); Pipe splice = new CoGroup( "sink", pipeLower, new Fields( "num" ), pipeUpper, new Fields( "num" ), Fields.size( 4 ) ); initialize( sources, sinks, splice ); } }
@Test public void testResolveAppended() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( "a" ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "a", got.get( 0 ) ); }
private Flow thirdFlow( Tap lhs, Tap rhs ) { Pipe lhsPipe = new Pipe( "lhs" ); Pipe rhsPipe = new Pipe( "rhs" ); Pipe pipe = new CoGroup( lhsPipe, new Fields( 0 ), rhsPipe, new Fields( 0 ), Fields.size( 2 ) ); Tap sink = getPlatform().getTextFile( getOutputPath( "third" ), SinkMode.REPLACE ); return getPlatform().getFlowConnector().connect( Cascades.tapsMap( Pipe.pipes( lhsPipe, rhsPipe ), Tap.taps( lhs, rhs ) ), sink, pipe ); }
@Test public void testResolveAppended2() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( "b" ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "b", got.get( 0 ) ); }
public void testMergeWithSelectorsWithTypes() { Type[] types = new Type[ 10 ]; Arrays.fill( types, int.class ); types[ 1 ] = long.class; Fields f1 = new Fields( "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ).applyTypes( types ); Fields f2 = new Fields( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ).applyTypes( types ); Fields merged = Fields.merge( f1, f2 ); assertEquals( 20, merged.size() ); assertEquals( 20, merged.getTypes().length ); assertEquals( long.class, merged.getTypes()[ 1 ] ); assertEquals( long.class, merged.getTypes()[ 11 ] ); }
@Test public void testResolveIndexOnly() { Fields declarationA = new Fields( 0, 1 ); Fields declarationB = new Fields( 0, 1 ); Fields selectA = new Fields( 0 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", 0, got.get( 0 ) ); }
private Flow thirdFlow( Tap lhs, Tap rhs ) { Pipe lhsPipe = new Pipe( "lhs" ); Pipe rhsPipe = new Pipe( "rhs" ); Pipe pipe = new CoGroup( lhsPipe, new Fields( 0 ), rhsPipe, new Fields( 0 ), Fields.size( 2 ) ); Tap sink = getPlatform().getTextFile( getOutputPath( "third" ), SinkMode.REPLACE ); return getPlatform().getFlowConnector().connect( Cascades.tapsMap( Pipe.pipes( lhsPipe, rhsPipe ), Tap.taps( lhs, rhs ) ), sink, pipe ); }
@Test public void testResolveIndexOnly4() { Fields declarationA = new Fields( 0, 1 ); Fields declarationB = new Fields( 0, 1 ); Fields selectA = new Fields( 3 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", 3, got.get( 0 ) ); }
void runTestCount( String name, Fields argumentSelector, Fields fieldDeclaration, Fields outputSelector ) throws Exception { getPlatform().copyFromLocal( inputFileIps ); Tap source = getPlatform().getTextFile( Fields.size( 2 ), inputFileIps ); Tap sink = getPlatform().getTextFile( Fields.size( 1 ), getOutputPath( name ), SinkMode.REPLACE ); Pipe pipe = new Pipe( "count" ); pipe = new GroupBy( pipe, new Fields( 1 ) ); pipe = new Every( pipe, argumentSelector, new Count( fieldDeclaration ), outputSelector ); Flow flow = getPlatform().getFlowConnector().connect( source, sink, pipe ); flow.start(); // simple test for start flow.complete(); validateLength( flow, 17 ); assertTrue( getSinkAsList( flow ).contains( new Tuple( "63.123.238.8\t2" ) ) ); }
@Test public void testResolveIndexAppended2() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( 1 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "b", got.get( 0 ) ); }