use of org.apache.hadoop.hive.ql.wm.Trigger in project hive by apache.
the class TestTriggersTezSessionPoolManager method testMultipleTriggers1.
@Test(timeout = 60000)
public void testMultipleTriggers1() throws Exception {
Expression shuffleExpression = ExpressionFactory.fromString("HDFS_BYTES_READ > 1000000");
Trigger shuffleTrigger = new ExecutionTrigger("big_shuffle", shuffleExpression, new Action(Action.Type.KILL_QUERY));
Expression execTimeExpression = ExpressionFactory.fromString("EXECUTION_TIME > 1000");
Trigger execTimeTrigger = new ExecutionTrigger("slow_query", execTimeExpression, new Action(Action.Type.KILL_QUERY));
setupTriggers(Lists.newArrayList(shuffleTrigger, execTimeTrigger));
String query = "select sleep(t1.under_col, 5), t1.value from " + tableName + " t1 join " + tableName + " t2 on t1.under_col>=t2.under_col";
runQueryWithTrigger(query, null, execTimeTrigger + " violated");
}
use of org.apache.hadoop.hive.ql.wm.Trigger in project hive by apache.
the class TestTriggersTezSessionPoolManager method testTriggerCustomCreatedDynamicPartitionsMultiInsert.
@Test(timeout = 60000)
public void testTriggerCustomCreatedDynamicPartitionsMultiInsert() throws Exception {
List<String> cmds = getConfigs();
cmds.add("drop table src2");
cmds.add("drop table src3");
cmds.add("create table src2 (key int) partitioned by (value string)");
cmds.add("create table src3 (key int) partitioned by (value string)");
String query = "from " + tableName + " insert overwrite table src2 partition (value) select * where under_col < 100 " + " insert overwrite table src3 partition (value) select * where under_col >= 100 and under_col < 200";
Expression expression = ExpressionFactory.fromString("CREATED_DYNAMIC_PARTITIONS > 70");
Trigger trigger = new ExecutionTrigger("high_partitions", expression, new Action(Action.Type.KILL_QUERY));
setupTriggers(Lists.newArrayList(trigger));
runQueryWithTrigger(query, cmds, trigger + " violated");
}
use of org.apache.hadoop.hive.ql.wm.Trigger in project hive by apache.
the class TestTriggersTezSessionPoolManager method setupTriggers.
@Override
protected void setupTriggers(final List<Trigger> triggers) throws Exception {
WMFullResourcePlan rp = new WMFullResourcePlan(new WMResourcePlan("rp"), null);
for (Trigger trigger : triggers) {
WMTrigger wmTrigger = wmTriggerFromTrigger(trigger);
wmTrigger.setIsInUnmanaged(true);
rp.addToTriggers(wmTrigger);
}
TezSessionPoolManager.getInstance().updateTriggers(rp);
}
use of org.apache.hadoop.hive.ql.wm.Trigger in project hive by apache.
the class TestTriggersTezSessionPoolManager method testTriggerShortQueryElapsedTime.
@Test(timeout = 60000)
public void testTriggerShortQueryElapsedTime() throws Exception {
Expression expression = ExpressionFactory.fromString("ELAPSED_TIME > 100");
Trigger trigger = new ExecutionTrigger("slow_query", expression, new Action(Action.Type.KILL_QUERY));
setupTriggers(Lists.newArrayList(trigger));
String query = "select sleep(t1.under_col, 500), t1.value from " + tableName + " t1 join " + tableName + " t2 on t1.under_col>=t2.under_col";
runQueryWithTrigger(query, null, trigger + " violated");
}
use of org.apache.hadoop.hive.ql.wm.Trigger in project hive by apache.
the class TestTriggersTezSessionPoolManager method testTriggerSlowQueryElapsedTime.
@Test(timeout = 60000)
public void testTriggerSlowQueryElapsedTime() throws Exception {
Expression expression = ExpressionFactory.fromString("ELAPSED_TIME > 20000");
Trigger trigger = new ExecutionTrigger("slow_query", expression, new Action(Action.Type.KILL_QUERY));
setupTriggers(Lists.newArrayList(trigger));
String query = "select sleep(t1.under_col, 500), t1.value from " + tableName + " t1 join " + tableName + " t2 on t1.under_col>=t2.under_col";
runQueryWithTrigger(query, null, trigger + " violated");
}
Aggregations