You can create SQL commands for Hive sources. You can execute the SQL commands to execute SQL statements such as insert, update, and delete on the Hive source.
PreSQL is an SQL command that runs against the Hive source before the mapping reads from the source. PostSQL is an SQL command that runs against the Hive source after the mapping writes to the target.
You can use PreSQL and PostSQL on the Spark engine. The Data Integration Service does not validate PreSQL or PostSQL commands for a Hive source.
You can manually validate the SQL by running the following query in a Hive command line utility:
CREATE VIEW <table name> (<port list>) AS <SQL>
where:
<table name>
is a name of your choice
<port list>
is the comma-delimited list of ports in the source
<SQL>
is the query to validate
Pre-Mapping SQL Commands
PreSQL is an SQL command that runs against a Hive source before the mapping reads from the source.
For example, you might use a Hive source in a mapping. The data stored in the Hive source changes regularly and you must update the data in the Hive source before the mapping reads from the source to make sure that the mapping reads the latest records. To update the Hive source, you can configure a PreSQL command.
Post-Mapping SQL Commands
PostSQL is an SQL command that runs against a Hive source after the mapping writes to the target.
For example, you might use a Hive source in a mapping. After the mapping writes to a target, you might want to delete the stage records stored in the Hive source. You want to run the command only after the mapping writes the data to the target to make sure that the data is not removed prematurely from the Hive source. To delete the records in the Hive source table after the mapping writes to the target, you can configure a PostSQL command.
Rules and Guidelines for Pre- and Post-Mapping SQL Commands
Consider the following restrictions when you run PreSQL and PostSQL commands against Hive sources:
When you create an SQL override on a Hive source, you must enclose keywords or special characters in backtick (`) characters.
When you run a mapping with a Hive source in the Hadoop environment, references to a local path in pre-mapping SQL commands are relative to the Data Integration Service node. When you run a mapping with a Hive source in the native environment, references to local path in pre-mapping SQL commands are relative to the Hive server node.