@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new DelimitedParseSpec( getTimestampSpec(), spec, delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new DelimitedParseSpec( spec, getDimensionsSpec(), delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
@Test public void testSerde() throws IOException { DelimitedParseSpec spec = new DelimitedParseSpec( new TimestampSpec("abc", "iso", null), new DimensionsSpec(DimensionsSpec.getDefaultSchemas(Collections.singletonList("abc")), null, null), "\u0001", "\u0002", Collections.singletonList("abc"), false, 0 ); final DelimitedParseSpec serde = jsonMapper.readValue( jsonMapper.writeValueAsString(spec), DelimitedParseSpec.class ); Assert.assertEquals("abc", serde.getTimestampSpec().getTimestampColumn()); Assert.assertEquals("iso", serde.getTimestampSpec().getTimestampFormat()); Assert.assertEquals(Collections.singletonList("abc"), serde.getColumns()); Assert.assertEquals("\u0001", serde.getDelimiter()); Assert.assertEquals("\u0002", serde.getListDelimiter()); Assert.assertEquals(Collections.singletonList("abc"), serde.getDimensionsSpec().getDimensionNames()); }
@Test(expected = IllegalArgumentException.class) public void testDefaultColumnList() { @SuppressWarnings("unused") // expected exception final DelimitedParseSpec spec = new DelimitedParseSpec( new TimestampSpec( "timestamp", "auto", null ), new DimensionsSpec( DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b")), new ArrayList<>(), new ArrayList<>() ), ",", null, null, false, 0 ); } }
Preconditions.checkArgument(!column.contains(","), "Column[%s] has a comma, it cannot", column); verify(dimensionsSpec.getDimensionNames()); } else { Preconditions.checkArgument(
public static IncrementalIndex loadIncrementalIndex( final IncrementalIndex retVal, final CharSource source ) throws IOException { final StringInputRowParser parser = new StringInputRowParser( new DelimitedParseSpec( new TimestampSpec("ts", "iso", null), new DimensionsSpec(DIMENSION_SCHEMAS, null, null), "\t", "\u0001", Arrays.asList(COLUMNS), false, 0 ), "utf8" ); return loadIncrementalIndex(() -> retVal, source, parser); }
Preconditions.checkArgument(!column.contains(","), "Column[%s] has a comma, it cannot", column); verify(dimensionsSpec.getDimensionNames()); } else { Preconditions.checkArgument(
@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new DelimitedParseSpec( getTimestampSpec(), spec, delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new DelimitedParseSpec( spec, getDimensionsSpec(), delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
new DelimitedParseSpec( new TimestampSpec("timestamp", "yyyyMMddHH", null), DIMENSIONS_SPEC,