Vertica Load Adapter

Introduction

The TIBCO StreamBase® Adapter for Vertica Load allows you to connect to a Vertica database.

Vertica Load Properties

This section describes the properties you can set for this adapter, using the various tabs of the Properties view in StreamBase Studio.

General Tab

Name: Use this required field to specify or change the name of this instance of this component, which must be unique in the current EventFlow module. The name must contain only alphabetic characters, numbers, and underscores, and no hyphens or other special characters. The first character must be alphabetic or an underscore.

Adapter: A read-only field that shows the formal name of the adapter.

Class name: Shows the fully qualified class name that implements the functionality of this adapter. If you need to reference this class name elsewhere in your application, you can right-click this field and select Copy from the context menu to place the full class name in the system clipboard.

Start with application: If this field is set to Yes (default) or to a module parameter that evaluates to true, this instance of this adapter starts as part of the JVM engine that runs this EventFlow module. If this field is set to No or to a module parameter that evaluates to false, the adapter instance is loaded with the engine, but does not start until you send an sbadmin resume command, or until you start the component with StreamBase Manager.

Enable Error Output Port: Select this check box to add an Error Port to this component. In the EventFlow canvas, the Error Port shows as a red output port, always the last port for the component. See Using Error Ports to learn about Error Ports.

Description: Optionally enter text to briefly describe the component's purpose and function. In the EventFlow canvas, you can see the description by pressing Ctrl while the component's tooltip is displayed.

Adapter Properties Tab

Property Description
Vertica HostName The name or IP address of the computer running the Vertica database.
Vertica Port The port number the Vertica database is configured to listen for JDBC on.
DB Name The name of the Vertica database you wish to load.
User Name The user name the Vertica JDBC connection excepts.
Password If the Vertica database was created with a password, supply it here. If there is no password, just leave this blank.
Table Name The name of the table within the database you wish to load.
Streaming Load If true, the Vertica Streaming load API is used. See load adapter overview for more information.
Buffer Size The size, in bytes, of each buffer used to accrue data before it is sent.
Maximum Number of Buffers The maximum number of buffers that will be allocated. When no buffers are available, the enqueuers will block waiting for a free buffer.
Convert Double Fields Allow a StreamBase double to be written to a Vertica long. The double value is rounded.
Flush Interval The maximum number of seconds data will be leave buffered before being sent. If a buffer fills before this interval, it is sent and the interval is reset.
Direct Copy This is normally true for bulk loads. If set, data is written to the Read Optimized Store (ROS). This is fastest way to load data.
Connection Timeout The number of milliseconds to wait for a JDBC connection before returning an error.
Reconnect Interval The number of milliseconds to wait before trying to reconnect to the database, when the connection was previously interrupted.
Enable Status Output Stream If true, an additional output port is supplied that emits an informational tuple just before a buffer is sent to Vertica, just after a buffer is sent, and when a flush completes. This tuple has the following 3 Int fields:
  • Type - 0 = buffer write started, 1 = buffer write completed, 2 = flush completed

  • ID - A number identifying the committer for this message. The first committer ID is 0

  • Count - set to the number of tuples in the buffer being sent for a type "0"; 0 for other types

Enable Flush Request Input Stream If true, an additional input port is provided. When a tuple is received on this port, the currently filling buffer is sent immediately. Any Flush Interval time is restarted.
Enable Changing Table Name If true, an additional input port is provided that allows you to change the name of the table name to be loaded. Sending a tuple with a string field called "table_name" to the port will cause a flush of all outstanding buffers, the next tuples will be sent to the new table name. This table must have the exact same schema as the original. This feature can be used to "roll" tables on a programmatic basis.
Max Concurrent Writes The number of buffer flush threads to start. Each thread can take a buffer and write it to the database.
Verbose Turn on informational notices about important state adapter state information. Only meant for debugging purposes.

Concurrency Tab

Use the Concurrency tab to specify parallel regions for this instance of this component, or multiplicity options, or both. The Concurrency tab settings are described in Concurrency Options, and dispatch styles are described in Dispatch Styles.

Caution

Concurrency settings are not suitable for every application, and using these settings requires a thorough analysis of your application. For details, see Execution Order and Concurrency, which includes important guidelines for using the concurrency options.