public interface DataOutputSink extends RuntimeObject<EcdaWriterContext>, CommonDataConstants
AUTH_KEYTAB, AUTH_METASTORE_PRINCIPAL, AUTH_METHOD, AUTH_USERNAME, COLUMN_MAPPING_KEY, COLUMN_QUOTE_CHARACTER, CONFIG_PATH, DEFAULT_PARSER_QUEUE_SIZE, DISALLOW_QUOTED_ROW_SEPARATOR, DISCARD_ROW_ON_PARSE_ERROR_KEY, ECDA_SESSION_NAME, FILE_COMPRESSION, FILE_COMPRESSION_BUFFER, FILE_ROTATION_RESPECT_ROWTIME, FILE_ROTATION_ROWCOUNT, FILE_ROTATION_SIZE, FILE_ROTATION_TIME, FILE_ROTATION_WATERMARK_COLUMN, FILE_TYPE, FILENAME_DATE_FORMAT, FILENAME_PATTERN, FILENAME_PREFIX, FILENAME_SUFFIX, FORMAT_CHARSET_KEY, FORMAT_TYPE_KEY, FORMAT_WRITE_HEADER_KEY, FORMATTER_CLASSNAME_KEY, FORMATTER_INCLUDE_ROWTIME, FORMATTER_PREFIX, FORMATTER_TYPE, HDFS_LOG_DIRECTORY, HDFS_OUTPUT_DIR, HDFS_POLLING_INTERVAL, HDFS_TYPE, HIVE_METASTORE_URIS, HIVE_PARTITION_NAME_FORMAT_SUFFIX, HIVE_SCHEMA_NAME, HIVE_SKIP_MSCK, HIVE_TABLE_NAME, HIVE_TABLE_OPTIONS, HIVE_TEMPLATE_SCHEMA_NAME, HIVE_TEMPLATE_TABLE_NAME, HIVE_TYPE, HIVE_URI, INTERNAL_PREFIX, IS_IPV6_KEY, IS_TCP_KEY, JDBC_TYPE, KERBEROS_OPTIONS, KERBEROS_SECURITY, MAX_PUNCT_TIME, MESSAGE_STREAM, MIN_PUNCT_TIME, OPTIONS_QUERY, ORC_BATCH_SIZE, ORC_BLOCK_PADDING, ORC_BLOCK_SIZE, ORC_BLOOM_FILTER_COLUMNS, ORC_BLOOM_FILTER_FPP, ORC_COMPRESS, ORC_COMPRESS_SIZE, ORC_DIRECT_ENCODING_COLUMNS, ORC_OPTION_PREFIX, ORC_ROW_INDEX_STRIDE, ORC_SORT_ORDER, ORC_STRIPE_SIZE, ORC_USER_METADATA_PREFIX, ORC_VERSION, ORIGINAL_FILENAME, PARSER_CHARSET_KEY, PARSER_PREFIX, PARSER_QUEUE_SIZE, PARSER_SKIP_HEADER_KEY, PARSER_TYPE, PATH_SUFFIX, PLUGIN_LEVEL, POSITION_KEY_COL, POSTPROCESS_COMMAND, PROJECTED_COLUMN_MAPPING_KEY, PROV_AMQP_CREATION_TIME, PROV_AMQP_PARTITION, PROV_FILE_SOURCE_FILE, PROV_IBMMQ_APPLICATION_ID_DATA, PROV_IBMMQ_APPLICATION_ORIGIN_DATA, PROV_IBMMQ_GROUP_ID, PROV_IBMMQ_MESSAGE_SEQUENCE_NUMBER, PROV_IBMMQ_PUT_APPLICATION_NAME, PROV_IBMMQ_PUT_APPLICATION_TYPE, PROV_IBMMQ_PUT_DATA_TIME, PROV_IBMMQ_USER_ID, PROV_KAFKA_HEADERS, PROV_KAFKA_KEY, PROV_KAFKA_OFFSET, PROV_KAFKA_PARTITION, PROV_KAFKA_PAYLOAD_PREFIX, PROV_KAFKA_TIMESTAMP, PROV_KAFKA_TOPIC, PROV_KINESIS_PARTITION_ID, PROV_KINESIS_SEQUENCE_NUMBER, PROV_KINESIS_SHARD_ID, PROV_MQTT_MESSAGE_ID, PROV_MQTT_TOPIC, PROV_PARSE_ERROR, PROV_PARSE_LINE_NUMBER, PROV_PARSE_POSITION, PROV_ROW_PAYLOAD, PROV_SOCKET_SOURCE_HOST, PROV_SOCKET_SOURCE_PORT, PROVENANCE_PREFIX, QUOTED_COLUMNS, RELATION_NAME, REMOTE_HOST_KEY, REMOTE_PORT_KEY, REPEAT, ROOT_DIRECTORY, ROW_SEPARATOR_CHAR_KEY, ROWTIME_COLUMN_NAME, SEPARATOR_CHAR_KEY, SERVER_HOST_KEY, SERVER_PORT_KEY, SERVER_TYPE, SORT_BY_TIMESTAMP, SQLSTREAM_PREFIX, STARTING_OUTPUT_ROWTIME, STARTING_POSITION, STARTING_TIME, STATIC_FILES, TOY_HASH_BUCKETS, TOY_HASH_COLUMNS, TOY_PARTITION_COLUMNS, TOY_VERBOSE, TYPE_AVRO, TYPE_CSV, TYPE_DISCOVERY, TYPE_FAST_REGEX, TYPE_FCLP, TYPE_JSON, TYPE_KEY_VALUE, TYPE_MULTIROW, TYPE_NONE, TYPE_ORC, TYPE_PROTOBUF, TYPE_TOY, TYPE_VCLP, TYPE_W3C, TYPE_XML, UNKNOWN_TYPE, UNPARSED_TEXT_KEY, UNPARSED_TEXT_LAST_COLUMN, UNPARSED_TEXT_NEW_ROW, UNPARSED_TEXT_TRUNCATE, UNPROJECTED_COLUMNS_KEY, UNPROJECTED_NUM_COLUMNS_KEY, WATERMARK_STORE, WATERMARKED_SINK, WATERMARKS, WS_POSITION_KEY_COL, WS_SINK_NAME_COL
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the sinks resources and frees memory.
|
void |
flush()
Flushes out data to its source, preparing for a close or just
freeing up some buffers.
|
default boolean |
needsFlushOnExit()
Tells if this sink needs to be flushed before a close or risk
invalid data being written out.
|
default boolean |
needsOneRowPerWrite()
Tells if this sink needs to be passed one row for
each write, or if rows can be buffered up.
|
default void |
onActivate()
Called when the associated nexus is created.
|
void |
open()
Opens the new I/O mechanism.
|
default boolean |
requestWrite(int nrows,
int nbytes,
java.lang.String watermark)
Ask the sink for permission to write some row data.
|
void |
setContext(EcdaWriterContext context) |
default void |
setFormatter(DataOutputFormatter formatter) |
void |
setQueryConnection(java.sql.Connection conn)
Set the connection to use for querying dynamic options.
|
default TypeFormatter |
specialFormatterFor(java.lang.String fieldName,
int fieldType,
int colIdx) |
void |
writeBounds(long bounds)
Writes a rowtime bounds if this sink supports such a thing, usually
this does nothing.
|
getInitProperties, init
void setContext(EcdaWriterContext context)
setContext
in interface RuntimeObject<EcdaWriterContext>
default void setFormatter(DataOutputFormatter formatter)
default void onActivate()
void open() throws java.lang.Exception
java.lang.Exception
- when any unhandled error occursdefault boolean needsFlushOnExit()
default boolean needsOneRowPerWrite()
default TypeFormatter specialFormatterFor(java.lang.String fieldName, int fieldType, int colIdx)
void writeBounds(long bounds) throws java.lang.Exception
bounds
- rowtime bounds.java.lang.Exception
- for any unhandled error conditionvoid flush() throws java.lang.Exception
java.lang.Exception
- for any unhandled error conditionvoid close() throws java.lang.Exception
java.lang.Exception
- for any unhandled error conditionvoid setQueryConnection(java.sql.Connection conn)
conn
- Connection to SqlStream serverdefault boolean requestWrite(int nrows, int nbytes, java.lang.String watermark) throws java.lang.Exception
nrows
- how many source rows correspond to data.nbytes
- size of datawatermark
- optional tag for the requested write event.java.lang.Exception
Copyright (C) 2003-2021 SQLstream, Inc.