@Override public Parser<String, Object> makeParser() { return new DelimitedParser( delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
public DelimitedParser( @Nullable final String delimiter, @Nullable final String listDelimiter, final Iterable<String> fieldNames, final boolean hasHeaderRow, final int maxSkipHeaderRows ) { this(delimiter, listDelimiter, hasHeaderRow, maxSkipHeaderRows); setFieldNames(fieldNames); }
public DelimitedParser( @Nullable final String delimiter, @Nullable final String listDelimiter, final boolean hasHeaderRow, final int maxSkipHeaderRows ) { super(listDelimiter, hasHeaderRow, maxSkipHeaderRows); this.delimiter = delimiter != null ? delimiter : FlatTextFormat.DELIMITED.getDefaultDelimiter(); Preconditions.checkState( !this.delimiter.equals(getListDelimiter()), "Cannot have same delimiter and list delimiter of [%s]", this.delimiter ); this.splitter = Splitter.on(this.delimiter); }
"Must specify more than one column to have a key value pair" ); final DelimitedParser delegate = new DelimitedParser( StringUtils.emptyToNullNonDruidDataString(delimiter), StringUtils.emptyToNullNonDruidDataString(listDelimiter), "Must specify both `keyColumn` and `valueColumn` or neither `keyColumn` nor `valueColumn`" ); delegate.setFieldNames(columns); this.columns = columns; this.delimiter = delimiter;
@Override protected List<String> parseLine(String input) { return splitToList(input); }
public Parser<String, Object> get(FlatTextFormat format, boolean hasHeaderRow, int maxSkipHeaderRows) { switch (format) { case CSV: return new CSVParser(null, hasHeaderRow, maxSkipHeaderRows); case DELIMITED: return new DelimitedParser("\t", null, hasHeaderRow, maxSkipHeaderRows); default: throw new IAE("Unknown format[%s]", format); } }
@VisibleForTesting DelimitedParser(@Nullable final String delimiter, @Nullable final String listDelimiter, final String header) { this(delimiter, listDelimiter, false, 0); setFieldNames(header); }
public DelimitedParser( @Nullable final String delimiter, @Nullable final String listDelimiter, final boolean hasHeaderRow, final int maxSkipHeaderRows ) { super(listDelimiter, hasHeaderRow, maxSkipHeaderRows); this.delimiter = delimiter != null ? delimiter : FlatTextFormat.DELIMITED.getDefaultDelimiter(); Preconditions.checkState( !this.delimiter.equals(getListDelimiter()), "Cannot have same delimiter and list delimiter of [%s]", this.delimiter ); this.splitter = Splitter.on(this.delimiter); }
public Parser<String, Object> get(FlatTextFormat format, String header) { switch (format) { case CSV: return new CSVParser(null, header); case DELIMITED: return new DelimitedParser("\t", null, header); default: throw new IAE("Unknown format[%s]", format); } } }
@VisibleForTesting DelimitedParser(@Nullable final String delimiter, @Nullable final String listDelimiter, final String header) { this(delimiter, listDelimiter, false, 0); setFieldNames(header); }
@Override public Parser<String, Object> makeParser() { return new DelimitedParser( delimiter, listDelimiter, columns, hasHeaderRow, skipHeaderRows ); }
public DelimitedParser( @Nullable final String delimiter, @Nullable final String listDelimiter, final Iterable<String> fieldNames, final boolean hasHeaderRow, final int maxSkipHeaderRows ) { this(delimiter, listDelimiter, hasHeaderRow, maxSkipHeaderRows); setFieldNames(fieldNames); }