Talend (7.0.1) - Cannot modify mapred.job.name at

2019-07-25 01:59发布

问题:

I am having some trouble running a simple tHiveCreateTable job in Talend OS for Big Data (Print of the job where I am getting this error). The Hive connection is fine and the job worked until Ranger was activated in the cluster.

After ranger, I started getting the following log:

   [statistics] connecting to socket on port 3345
   [statistics] connected
   Error while processing statement: Cannot modify mapred.job.name at runtime. It is not in list of params that are allowed to be modified at runtime
   [statistics] disconnected

This error occurs either using Tez or MapReduce for the job, throwing an exception in the following line of the automatically generated code:

    // For MapReduce Mode
    stmt_tHiveCreateTable_1.execute("set mapred.job.name=" + queryIdentifier);

Do you know any solution or workarround for this?

Thanks in advance

回答1:

It is possible to disable changing mapreduce.job.name and hive.query.name at runtime by Talend7 jobs.

Edit the file

{talend_install_dir}/plugins/org.talend.designer.components.localprovider_7.1.1.20181026_1147/components/templates/Hive/SetQueryName.javajet

and comment out lines 6 and 11 like that:

// stmt_<%=cid %>.execute("set mapred.job.name=" + queryIdentifier_<%=cid %>);
// stmt_<%=cid %>.execute("set hive.query.name=" + queryIdentifier_<%=cid %>);

It solved this issue for me.



标签: hive talend