public CSVProperties build() { return new CSVProperties( charset, delimiter, quote, escape, header, useHeader, linesToSkip); } }
public CSVAppender(FileSystem fs, Path path, DatasetDescriptor descriptor) { this.fs = fs; this.path = path; this.schema = descriptor.getSchema(); Preconditions.checkState(schema.getType() == Schema.Type.RECORD, "Unsupported schema (not a record): {}", schema); this.props = CSVProperties.fromDescriptor(descriptor); }
private CSVProperties(DatasetDescriptor descriptor) { this.charset = coalesce( descriptor.getProperty(CHARSET_PROPERTY), descriptor.getProperty(OLD_CHARSET_PROPERTY), DEFAULT_CHARSET); this.delimiter= coalesce( descriptor.getProperty(DELIMITER_PROPERTY), descriptor.getProperty(OLD_DELIMITER_PROPERTY), DEFAULT_DELIMITER); this.quote = coalesce( descriptor.getProperty(QUOTE_CHAR_PROPERTY), descriptor.getProperty(OLD_QUOTE_CHAR_PROPERTY), DEFAULT_QUOTE); this.escape = coalesce( descriptor.getProperty(ESCAPE_CHAR_PROPERTY), descriptor.getProperty(OLD_ESCAPE_CHAR_PROPERTY), DEFAULT_ESCAPE); this.header = descriptor.getProperty(HEADER_PROPERTY); this.useHeader = Boolean.parseBoolean(coalesce( descriptor.getProperty(HAS_HEADER_PROPERTY), DEFAULT_HAS_HEADER)); final String linesToSkipString = coalesce( descriptor.getProperty(LINES_TO_SKIP_PROPERTY), descriptor.getProperty(OLD_LINES_TO_SKIP_PROPERTY));
.format("csv") .build(); csvDescriptor = props.addToDescriptor(csvDescriptor);
@SuppressWarnings("unchecked") public CSVFileReader(FileSystem fileSystem, Path path, DatasetDescriptor descriptor, EntityAccessor<E> accessor) { this.fs = fileSystem; this.path = path; this.schema = accessor.getReadSchema(); this.recordClass = accessor.getType(); this.state = ReaderWriterState.NEW; this.props = CSVProperties.fromDescriptor(descriptor); // defaults to false: assume that callers will not make defensive copies this.reuseRecords = DescriptorUtil.isEnabled(REUSE_RECORDS, descriptor); Preconditions.checkArgument(Schema.Type.RECORD.equals(schema.getType()), "Schemas for CSV files must be records of primitive types"); }
public static CSVProperties fromDescriptor(DatasetDescriptor descriptor) { return new CSVProperties(descriptor); }