@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new CSVParseSpec(getTimestampSpec(), spec, listDelimiter, columns, hasHeaderRow, skipHeaderRows); }
@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new CSVParseSpec(spec, getDimensionsSpec(), listDelimiter, columns, hasHeaderRow, skipHeaderRows); }
Preconditions.checkArgument(!column.contains(","), "Column[%s] has a comma, it cannot", column); verify(dimensionsSpec.getDimensionNames()); } else { Preconditions.checkArgument(
public FileIteratingFirehoseTest(List<String> texts, int numSkipHeaderRows) { parser = new StringInputRowParser( new CSVParseSpec( new TimestampSpec("ts", "auto", null), new DimensionsSpec(DimensionsSpec.getDefaultSchemas(ImmutableList.of("x")), null, null), ",", ImmutableList.of("ts", "x"), false, numSkipHeaderRows ), null ); this.inputs = texts; this.expectedResults = inputs.stream() .map(input -> input.split("\n")) .flatMap(lines -> { final List<String> filteredLines = Arrays .stream(lines) .filter(line -> line.length() > 0) .map(line -> line.split(",")[1]) .collect(Collectors.toList()); final int numRealSkippedRows = Math.min(filteredLines.size(), numSkipHeaderRows); IntStream.range(0, numRealSkippedRows).forEach(i -> filteredLines.set(i, null)); return filteredLines.stream(); }) .collect(Collectors.toList()); }
new CSVParseSpec( new TimestampSpec( "timestamp",
new CSVParseSpec( new TimestampSpec( "time",
@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new CSVParseSpec(getTimestampSpec(), spec, listDelimiter, columns, hasHeaderRow, skipHeaderRows); }
@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new CSVParseSpec(spec, getDimensionsSpec(), listDelimiter, columns, hasHeaderRow, skipHeaderRows); }
Preconditions.checkArgument(!column.contains(","), "Column[%s] has a comma, it cannot", column); verify(dimensionsSpec.getDimensionNames()); } else { Preconditions.checkArgument(
createIngestionSpec( tmpDir, new CSVParseSpec( new TimestampSpec( "time",
new CSVParseSpec( new TimestampSpec("timestamp", "iso", null), new DimensionsSpec(DimensionsSpec.getDefaultSchemas(ImmutableList.of("product", "tags")), null, null),
new CSVParseSpec( new TimestampSpec("timestamp", "iso", null), new DimensionsSpec(DimensionsSpec.getDefaultSchemas(ImmutableList.of("product", "tags")), null, null),