I trying to write a test case for a repeated map scenario. However testing
framework is unable to infer the schema of the resultset? I'm using the API
correctly?

Thanks
jc

// create a test file
    try (OutputStreamWriter w = new OutputStreamWriter(new
FileOutputStream(new File(testDir, "test.json")))) {
      w.write("{\"arrayOfMap\":[{\"type\": 3, \"data\": 44}]}\n");
    }

// read the test file
    String sql = "select * from `dfs.data`.`test.json`";
    RowSet actual = client.queryBuilder().sql(sql).rowSet();

// error outputted
java.lang.NullPointerException: null
        at
org.apache.drill.exec.physical.rowSet.model.single.SingleSchemaInference.inferVector(SingleSchemaInference.java:70)
~[drill-java-exec-1.15.0-SNAPSHOT.jar:1.15.0-SNAPSHOT]
        at
org.apache.drill.exec.physical.rowSet.model.single.SingleSchemaInference.inferMapSchema(SingleSchemaInference.java:91)
~[drill-java-exec-1.15.0-SNAPSHOT.jar:1.15.0-SNAPSHOT]
        at
org.apache.drill.exec.physical.rowSet.model.single.SingleSchemaInference.inferVector(SingleSchemaInference.java:73)
~[drill-java-exec-1.15.0-SNAPSHOT.jar:1.15.0-SNAPSHOT]
        at
org.apache.drill.exec.physical.rowSet.model.single.SingleSchemaInference.infer(SingleSchemaInference.java:64)
~[drill-java-exec-1.15.0-SNAPSHOT.jar:1.15.0-SNAPSHOT]
        at
org.apache.drill.test.rowSet.DirectRowSet.fromContainer(DirectRowSet.java:77)
~[drill-java-exec-1.15.0-SNAPSHOT-tests.jar:1.15.0-SNAPSHOT]
        at org.apache.drill.test.QueryBuilder.rowSet(QueryBuilder.java:363)
~[drill-java-exec-1.15.0-SNAPSHOT-tests.jar:1.15.0-SNAPSHOT]
        at
org.apache.drill.exec.store.msgpack.TestMsgpackRecordReader.testSchemaRepeatedMapWithFieldWithDifferentTypes(TestMsgpackRecordReader.java:245)
~[test-classes/:na]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]

Reply via email to