Search in sources :

Example 1 with CsvOutputFormat

use of org.apache.flink.api.java.io.CsvOutputFormat in project flink by apache.

the class DataStream method writeAsCsv.

/**
	 * Writes a DataStream to the file specified by the path parameter. The
	 * writing is performed periodically every millis milliseconds.
	 *
	 * <p>
	 * For every field of an element of the DataStream the result of {@link Object#toString()}
	 * is written. This method can only be used on data streams of tuples.
	 *
	 * @param path
	 *            the path pointing to the location the text file is written to
	 * @param writeMode
	 *            Controls the behavior for existing files. Options are
	 *            NO_OVERWRITE and OVERWRITE.
	 * @param rowDelimiter
	 *            the delimiter for two rows
	 * @param fieldDelimiter
	 *            the delimiter for two fields
	 *
	 * @return the closed DataStream
	 */
@SuppressWarnings("unchecked")
@PublicEvolving
public <X extends Tuple> DataStreamSink<T> writeAsCsv(String path, WriteMode writeMode, String rowDelimiter, String fieldDelimiter) {
    Preconditions.checkArgument(getType().isTupleType(), "The writeAsCsv() method can only be used on data streams of tuples.");
    CsvOutputFormat<X> of = new CsvOutputFormat<>(new Path(path), rowDelimiter, fieldDelimiter);
    if (writeMode != null) {
        of.setWriteMode(writeMode);
    }
    return writeUsingOutputFormat((OutputFormat<T>) of);
}
Also used : Path(org.apache.flink.core.fs.Path) CsvOutputFormat(org.apache.flink.api.java.io.CsvOutputFormat) PublicEvolving(org.apache.flink.annotation.PublicEvolving)

Aggregations

PublicEvolving (org.apache.flink.annotation.PublicEvolving)1 CsvOutputFormat (org.apache.flink.api.java.io.CsvOutputFormat)1 Path (org.apache.flink.core.fs.Path)1