天天看點

Hive 強制指定分區鍵

if (tab.isPartitioned()) {

if ("strict".equalsIgnoreCase(HiveConf.getVar(conf,

HiveConf.ConfVars.HIVEMAPREDMODE))){

if (!hasColumnExpr(prunerExpr)){

thrownewSemanticException(ErrorMsg.NO_PARTITION_PREDICATE

.getMsg("for Alias \"" + alias + "\" Table \""

+ tab.getTableName() + "\""));

}

if (reduceKeys.size() ==0) {

numReds = 1;

if (conf.getVar(HiveConf.ConfVars.HIVEMAPREDMODE).equalsIgnoreCase(

"strict")){

thrownewSemanticException(ErrorMsg.NO_CARTESIAN_PRODUCT.getMsg());

if (sortExprs == null) {

sortExprs =qb.getParseInfo().getOrderByForClause(dest);

if (sortExprs != null) {

assert numReducers == 1;

Integerlimit = qb.getParseInfo().getDestLimit(dest);

"strict")

&& limit == null) {

thrownew SemanticException(generateErrorMessage(sortExprs,

ErrorMsg.NO_LIMIT_WITH_ORDERBY.getMsg()));

本文轉自MIKE老畢 51CTO部落格,原文連結:http://blog.51cto.com/boylook/1302067,如需轉載請自行聯系原作者