-- Register Data Integration Module [DIM] BDQ Hive UDF Jar
ADD JAR <Directory path>/dim.hive.${project.version}.jar;
ADD FILE /home/hduser/script/groovy_hive.txt;
ADD FILE /home/hduser/script/groovy2.txt;
-- Provide alias to UDF class (optional). String in quotes represent
class names needed for this job to run.
CREATE TEMPORARY FUNCTION customscript as
'com.pb.bdq.dim.process.hive.script.groovy.CustomGroovyScriptExecutionUDF';
set hive.fetch.task.conversion=none;
-- Set default configuration
set hivevar:defaultConfiguration='{"datePattern":"M/d/yy",
"dateTimePattern":"M/d/yy h:mm a","timePattern":"h:mm a"}';
-- Set the header configuration
set hivevar:header='busniessname,recordid';
set hivevar:scriptConfigurations =
'[{"groovyScriptFile":"/home/hduser/script/groovy_hive.txt",
"inputFields":[{"name":"busniessname","type":"string"},
{"name":"recordid","type":"integer"}],
"outputFields":[{"name":"outtan","type":"double"}]},
{"groovyScriptFile":"/home/hduser/script/groovy2.txt",
"inputFields":[],
"outputFields":[{"name":"outtan2","type":"double"}]}]';
SELECT customscript(${hivevar:scriptConfigurations},"",${hivevar:header},
InputKeyValue, AddressLine1) FROM groovy_tc1;
INSERT OVERWRITE LOCAL DIRECTORY '/home/hduser/script/output'
row format delimited FIELDS TERMINATED BY ',' lines TERMINATED BY '\n'
STORED AS TEXTFILE SELECT * FROM (SELECT customscript(${hivevar:scriptConfigurations},
${hivevar:defaultConfiguration},${hivevar:header}, InputKeyValue, AddressLine1)
as mygp FROM groovy_tc1 ) record;
!q;