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 options: This field provides a link to the Cluster Aware tab, where you configure the conditions under which this adapter starts.

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 Editor 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.

Cluster Aware Tab

Use the settings in this tab to allow this operator or adapter to start and stop based on conditions that occur at runtime in a cluster with more than one node. During initial development of the fragment that contains this operator or adapter, and for maximum compatibility with TIBCO Streaming releases before 10.5.0, leave the Cluster start policy control in its default setting, Start with module.

Cluster awareness is an advanced topic that requires an understanding of StreamBase Runtime architecture features, including clusters, quorums, availability zones, and partitions. See Cluster Awareness Tab Settings on the Using Cluster Awareness page for instructions on configuring this tab.

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.