@InterfaceAudience.Public @InterfaceStability.Evolving public class SimpleKeyedKuduOperationsProducer extends Object implements KuduOperationsProducer
Insert or Upsert
per Event by writing the event body into a BINARY column. The pair
(key column name, key column value) should be a header in the Event;
the column name is configurable but the column type must be STRING. Multiple
key columns are not supported.
Simple Keyed Kudu Operations Producer configuration parameters
| Property Name | Default | Required? | Description |
|---|---|---|---|
| producer.payloadColumn | payload | No | The name of the BINARY column to write the Flume event body to. |
| producer.keyColumn | key | No | The name of the STRING key column of the target Kudu table. |
| producer.operation | upsert | No | The operation used to write events to Kudu. Supported operations are 'insert' and 'upsert' |
| Modifier and Type | Field and Description |
|---|---|
static String |
KEY_COLUMN_DEFAULT |
static String |
KEY_COLUMN_PROP |
static String |
OPERATION_DEFAULT |
static String |
OPERATION_PROP |
static String |
PAYLOAD_COLUMN_DEFAULT |
static String |
PAYLOAD_COLUMN_PROP |
| Constructor and Description |
|---|
SimpleKeyedKuduOperationsProducer() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Cleans up any state.
|
void |
configure(org.apache.flume.Context context) |
List<Operation> |
getOperations(org.apache.flume.Event event)
Returns the operations that should be written to Kudu as a result of this event.
|
void |
initialize(KuduTable table)
Initializes the operations producer.
|
public static final String PAYLOAD_COLUMN_PROP
public static final String PAYLOAD_COLUMN_DEFAULT
public static final String KEY_COLUMN_PROP
public static final String KEY_COLUMN_DEFAULT
public static final String OPERATION_PROP
public static final String OPERATION_DEFAULT
public void configure(org.apache.flume.Context context)
configure in interface org.apache.flume.conf.Configurablepublic void initialize(KuduTable table)
KuduOperationsProducerinitialize in interface KuduOperationsProducertable - the KuduTable used to create Kudu Operation objectspublic List<Operation> getOperations(org.apache.flume.Event event) throws org.apache.flume.FlumeException
KuduOperationsProducergetOperations in interface KuduOperationsProducerevent - Event to convert to one or more Operationsorg.apache.flume.FlumeExceptionpublic void close()
KuduOperationsProducerclose in interface AutoCloseableclose in interface KuduOperationsProducer