以下查询给出了错误:
执行错误:处理语句时出错:FAILED:执行错误,返回代码2 org.apache.hadoop.hive.ql.exec.mr.MapRedTask
有谁知道为什么或如何解决这个问题?
proc sql;
connect to hadoop(server='xxx' port=10000 schema=xxx SUBPROTOCOL=hive2 sql_functions=all);
execute(
create table a as
select
*,
lag(claim_flg,1) over (order by ptnt_id,month) as lag1
from b
) by hadoop;
disconnect from hadoop;
quit;
答案 0 :(得分:0)
这似乎是HIVE数据库中的限制问题:
每桌127个表达式的Hive限制 由于Hive数据库中的限制,表最多可包含127个表达式。读取第128个表达式时,指令失败,SAS日志收到类似以下内容的消息:
错误:java.sql.SQLException:处理语句时出错:失败: 执行错误,返回 代码2来自org.apache.hadoop.hive.ql.exec.mr.MapRedTask
错误:无法执行Hadoop查询。 错误:执行错误。 SQL_IP_TRACE:没有SQL直接传递给DBMS。 只要将表作为指令的一部分读取,Hive限制就适用。对于SAS数据加载器,在聚合,配置文件,查看结果以及查看样本数据时可能会发生错误。