Table of Contents

Search

  1. Preface
  2. Introduction to Informatica Big Data Management
  3. Mappings in the Hadoop Environment
  4. Mapping Sources in the Hadoop Environment
  5. Mapping Targets in the Hadoop Environment
  6. Mapping Transformations in the Hadoop Environment
  7. Processing Hierarchical Data on the Spark Engine
  8. Configuring Transformations to Process Hierarchical Data
  9. Processing Unstructured and Semi-structured Data with an Intelligent Structure Model
  10. Stateful Computing on the Spark Engine
  11. Monitoring Mappings in the Hadoop Environment
  12. Mappings in the Native Environment
  13. Profiles
  14. Native Environment Optimization
  15. Cluster Workflows
  16. Connections
  17. Data Type Reference
  18. Function Reference
  19. Parameter Reference

Update Strategy Transformation Support on the Spark Engine

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:
  • If you run the mapping with Blaze or Hive, the Hive MERGE option is ignored. The Data Integration Service runs the transformation with the previous implementation.
  • A single row for delete or update cannot match multiple rows in the target. When the mapping violates this restriction, the mapping fails with a runtime error.
  • If you configure the Update Strategy expression to update partitioning or bucketing columns, the mapping ignores the Hive MERGE option. In addition, the mapping does not update the columns.
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 Update Strategy transformation is connected to more than one target.
  • The Update Strategy transformation is not located immediately before the target.
  • The Update Strategy target is not a Hive target.
  • The Update Strategy transformation target is an external ACID table.
  • The target does not contain a connected primary key.
  • The Hive target property to truncate the target table at run time is enabled.
  • The Hive target property to create or replace the target table at run time is enabled.
The mapping fails in the following situations:
  • The target table is not enabled for transactions.
  • The target is not ORC bucketed.

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


Updated October 23, 2019