private Type createType(String typeName, Map<String, String> fields) throws Throwable { Type typ1 = new Type(); typ1.setName(typeName); typ1.setFields(new ArrayList<>(fields.size())); for(String fieldName : fields.keySet()) { typ1.getFields().add( new FieldSchema(fieldName, fields.get(fieldName), "")); } client.createType(typ1); return typ1; }
typ1.getFields().add( new FieldSchema("income", ColumnType.INT_TYPE_NAME, "")); boolean ret = client.createType(typ1); assertTrue("Unable to create type", ret); ColumnType.getListType(typ1.getName()), "")); ret = client.createType(fam); assertTrue("Unable to create type " + fam.getName(), ret);
private Table getTable(String dbName, String tblName, String typeName) throws NoSuchObjectException, MetaException, TException, AlreadyExistsException, InvalidObjectException { msc.dropTable(dbName, tblName); silentDropDatabase(dbName); msc.dropType(typeName); Type typ1 = new Type(); typ1.setName(typeName); typ1.setFields(new ArrayList<FieldSchema>(1)); typ1.getFields().add(new FieldSchema("name", serdeConstants.STRING_TYPE_NAME, "")); msc.createType(typ1); Table tbl = new Table(); tbl.setDbName(dbName); tbl.setTableName(tblName); StorageDescriptor sd = new StorageDescriptor(); sd.setSerdeInfo(new SerDeInfo()); sd.getSerdeInfo().setName(tblName); sd.getSerdeInfo().setParameters(new HashMap<String, String>()); sd.getSerdeInfo().setSerializationLib(LazySimpleSerDe.class.getName()); sd.setInputFormat(HiveInputFormat.class.getName()); sd.setOutputFormat(HiveOutputFormat.class.getName()); tbl.setSd(sd); sd.setCols(typ1.getFields()); sd.setSerdeInfo(new SerDeInfo()); return tbl; }
@Test public void testSimpleTypeApi() throws Exception { try { client.dropType(ColumnType.INT_TYPE_NAME); Type typ1 = new Type(); typ1.setName(ColumnType.INT_TYPE_NAME); boolean ret = client.createType(typ1); assertTrue("Unable to create type", ret); Type typ1_2 = client.getType(ColumnType.INT_TYPE_NAME); assertNotNull(typ1_2); assertEquals(typ1.getName(), typ1_2.getName()); ret = client.dropType(ColumnType.INT_TYPE_NAME); assertTrue("unable to drop type integer", ret); boolean exceptionThrown = false; try { client.getType(ColumnType.INT_TYPE_NAME); } catch (NoSuchObjectException e) { exceptionThrown = true; } assertTrue("Expected NoSuchObjectException", exceptionThrown); } catch (Exception e) { System.err.println(StringUtils.stringifyException(e)); System.err.println("testSimpleTypeApi() failed."); throw e; } }
typ1.getFields().add( new FieldSchema("income", ColumnType.INT_TYPE_NAME, "")); client.createType(typ1);
typ1.getFields().add( new FieldSchema("income", ColumnType.INT_TYPE_NAME, "")); client.createType(typ1);
typ1.getFields().add( new FieldSchema("income", ColumnType.INT_TYPE_NAME, "")); client.createType(typ1);