@Override
  public void processArguments(String arguments) {
    String[] args = arguments.split(":");
    Set<String> tableNames = getTableNames(args[0]);
    synchronized (QTestUtil.class) {
      if (args.length > 1) {
        if (args.length > 2 || !args[1].equalsIgnoreCase("ONLY")) {
          throw new RuntimeException("unknown option: " + args[1]);
        }
        tablesToUnload.addAll(getSrcTables());
        tablesToUnload.removeAll(tableNames);
      }
      tableNames.removeAll(getSrcTables());
      missingTables.addAll(tableNames);
    }
  }
Datasets are provided by this handler.

An invocation of:

<pre>
--! qt:dataset:sample
--! qt:dataset:sample:ONLY
</pre>

will make sure that the dataset named sample is loaded prior to executing the test.
itests/util/src/main/java/org/apache/hadoop/hive/ql/dataset/QTestDatasetHandler.java