Exception in thread "main" java.lang.StackOverflowError
at org.datanucleus.query.expression.ExpressionCompiler.isOperator(ExpressionCompiler.java:819)
at org.datanucleus.query.expression.ExpressionCompiler.compileOrAndExpression(ExpressionCompiler.java:190)
at org.datanucleus.query.expression.ExpressionCompiler.compileExpression(ExpressionCompiler.java:179)
at org.datanucleus.query.expression.ExpressionCompiler.compileOrAndExpression(ExpressionCompiler.java:192)
at org.datanucleus.query.expression.ExpressionCompiler.compileExpression(ExpressionCompiler.java:179)
3)利用更為復雜的多層操作,例如接入多個分區(qū),也同樣有其局限性。大規(guī)模查詢可能由于Hive編譯器利用metastore進行語義驗證時發(fā)生錯誤。這是因為Hive metastore在本質(zhì)上屬于一類SQL模式存儲,因此大規(guī)模查詢可能引發(fā)以下錯誤:“com.mysql.jbdc.PacketTooBigException: Packet for query is too large”。
包括jobconf大小、Hadoop Heap大小以及數(shù)據(jù)包大小在內(nèi)的各類屬性顯然無法進行配置。為了避免這些問題,我們應(yīng)當更好地設(shè)計語義,而非頻繁改變配置。