@Test
  public void testImportPartitioned() throws Exception {
    boolean isVectorized = false;
    runStatementOnDriver("drop table if exists T");
    runStatementOnDriver("drop table if exists Tstage");
    runStatementOnDriver("create table T (a int, b int) partitioned by (p int) stored as orc");
    //Tstage is just a simple way to generate test data
    runStatementOnDriver("create table Tstage (a int, b int) partitioned by (p int) stored" +
        " as orc tblproperties('transactional'='false')");
    //this creates an ORC data file with correct schema under table root
    runStatementOnDriver("insert into Tstage values(1,2,10),(3,4,11),(5,6,12)");
    //now we have an archive with 3 partitions
    runStatementOnDriver("export table Tstage to '" + getWarehouseDir() + "/1'");

    //make the partition in Target not empty
    runStatementOnDriver("insert into T values(0,0,10)");
    //load partition that doesn't exist in T
    runStatementOnDriver("import table T PARTITION(p=11) from '" + getWarehouseDir() + "/1'");
    //load partition that doesn't exist in T
    runStatementOnDriver("import table T PARTITION(p=12) from '" + getWarehouseDir() + "/1'");
    String testQuery = isVectorized ? "select ROW__ID, a, b from T order by ROW__ID" :
        "select ROW__ID, a, b, INPUT__FILE__NAME from T order by ROW__ID";
    String[][] expected = new String[][] {
        {"{\"writeid\":1,\"bucketid\":536870912,\"rowid\":0}\t0\t0",
            "t/p=10/delta_0000001_0000001_0000/bucket_00000_0"},
        {"{\"writeid\":2,\"bucketid\":536870912,\"rowid\":0}\t3\t4",
            "t/p=11/delta_0000002_0000002_0000/000000_0"},
        {"{\"writeid\":3,\"bucketid\":536870912,\"rowid\":0}\t5\t6",
            "t/p=12/delta_0000003_0000003_0000/000000_0"}};
    checkResultAndVectorization(expected, testQuery, "import existing table", LOG);
  }
MM tables already work - mm_exim.q
Export creates a bunch of metadata in addition to data including all table props/IF/OF etc
Import from 'export' can create a table (any name specified) or add data into existing table.
If importing into existing table (un-partitioned) it must be empty.
If Import is creating a table it will be exactly like exported one except for the name.
ql/src/test/org/apache/hadoop/hive/ql/TestTxnExIm.java