Big Data Management User Guide > Mapping Transformations in the Hadoop Environment > Update Strategy Transformation in the Hadoop Environment
  

Update Strategy Transformation in the Hadoop Environment

The Update Strategy transformation processing in the Hadoop environment depends on the engine that runs the transformation.
Note: The Update Strategy transformation is supported only on Hadoop distributions that support Hive ACID.

Update Strategy Transformation Support on the Blaze Engine

You can use the Update Strategy transformation on the Hadoop distributions that support Hive ACID.
Some processing rules for the Blaze engine differ from the processing rules for the Data Integration Service.

General Restrictions

If the Update Strategy transformation receives multiple update rows for the same primary key value, the transformation selects one random row to update the target.
If multiple Update Strategy transformations write to different instances of the same target, the target data might be unpredictable.
The Blaze engine executes operations in the following order: deletes, updates, inserts. It does not process rows in the same order as the Update Strategy transformation receives them.
Hive targets always perform Update as Update operations. Hive targets do not support Update Else Insert or Update as Insert.

Mapping Validation and Compile Validation

Mapping validation fails in the following situations:
The mapping fails in the following situation:
Compile validation errors occur and the mapping execution stops in the following situations:

Using Hive Target Tables

To use a Hive target table with an Update Strategy transformation, you must create the Hive target table with the following clause in the Hive Data Definition Language: TBLPROPERTIES ("transactional"="true").
To use an Update Strategy transformation with a Hive target, verify that the following properties are configured in the hive-site.xml configuration set associated with the Hadoop connection:
hive.support.concurrency true
hive.enforce.bucketing true
hive.exec.dynamic.partition.mode nonstrict
hive.txn.manager org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
hive.compactor.initiator.on true
hive.compactor.worker.threads 1

Update Strategy Transformation Support on the Spark Engine

You can use the Update Strategy transformation on the Hadoop distributions that support Hive ACID.
Some processing rules for the Spark engine differ from the processing rules for the Data Integration Service.

General Restrictions

The Update Strategy transformation does not forward rejected rows to the next transformation.
If the Update Strategy transformation receives multiple update rows for the same primary key value, the transformation selects one random row to update the target.
If multiple Update Strategy transformations write to different instances of the same target, the target data might be unpredictable.
If the mapping runs on the Spark engine, you can choose the Use Hive Merge option. The option has the following restrictions:
Note: The Developer tool and the Data Integration Service do not validate against these restrictions. If the expression or the mapping violates these restrictions, the mapping might run, but the results will not be as expected.
Hive targets always perform Update as Update operations. Hive targets do not support Update Else Insert or Update as Insert.

Mapping Validation

Mapping validation fails in the following situations:
The mapping fails in the following situations:

Using Hive Target Tables

To use a Hive target table with an Update Strategy transformation, you must create the Hive target table with the following clause in the Hive Data Definition Language: TBLPROPERTIES ("transactional"="true").
To use an Update Strategy transformation with a Hive target, verify that the following properties are configured in the hive-site.xml configuration set associated with the Hadoop connection:
hive.support.concurrency true
hive.enforce.bucketing true
hive.exec.dynamic.partition.mode nonstrict
hive.txn.manager org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
hive.compactor.initiator.on true
hive.compactor.worker.threads 1

Update Strategy Transformation Support on the Hive Engine

The Update Strategy transformation is supported only on Hadoop distributions that support Hive ACID.
Some processing rules for the Hive engine differ from the processing rules for the Data Integration Service.

General Restrictions

Hive targets always perform Update as Update operations. Hive targets do not support Update Else Insert or Update as Insert.
When the Update Strategy transformation receives multiple update rows for the same key, the results might differ.

Mapping Validation and Compile Validation

Mapping validation fails in the following situations:
The mapping fails in the following situations:
Compile validation errors occur and the mapping execution stops in the following situations: