Search in sources :

Example 6 with HiveTable

use of org.apache.gobblin.hive.HiveTable in project incubator-gobblin by apache.

the class HiveMetaStoreUtilsTest method testGetTableAvro.

@Test
public void testGetTableAvro() {
    final String databaseName = "testdb";
    final String tableName = "testtable";
    HiveTable.Builder builder = new HiveTable.Builder();
    builder.withDbName(databaseName).withTableName(tableName);
    State serdeProps = new State();
    serdeProps.setProp("avro.schema.literal", "{\"type\": \"record\", \"name\": \"TestEvent\"," + " \"namespace\": \"test.namespace\", \"fields\": [{\"name\":\"a\"," + " \"type\": \"int\"}]}");
    builder.withSerdeProps(serdeProps);
    HiveTable hiveTable = builder.build();
    hiveTable.setInputFormat(AvroContainerInputFormat.class.getName());
    hiveTable.setOutputFormat(AvroContainerOutputFormat.class.getName());
    hiveTable.setSerDeType(AvroSerDe.class.getName());
    Table table = HiveMetaStoreUtils.getTable(hiveTable);
    Assert.assertEquals(table.getDbName(), databaseName);
    Assert.assertEquals(table.getTableName(), tableName);
    StorageDescriptor sd = table.getSd();
    Assert.assertEquals(sd.getInputFormat(), AvroContainerInputFormat.class.getName());
    Assert.assertEquals(sd.getOutputFormat(), AvroContainerOutputFormat.class.getName());
    Assert.assertNotNull(sd.getSerdeInfo());
    Assert.assertEquals(sd.getSerdeInfo().getSerializationLib(), AvroSerDe.class.getName());
    List<FieldSchema> fields = sd.getCols();
    Assert.assertTrue(fields != null && fields.size() == 1);
    FieldSchema fieldA = fields.get(0);
    Assert.assertEquals(fieldA.getName(), "a");
    Assert.assertEquals(fieldA.getType(), "int");
}
Also used : AvroContainerOutputFormat(org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat) AvroSerDe(org.apache.hadoop.hive.serde2.avro.AvroSerDe) HiveTable(org.apache.gobblin.hive.HiveTable) Table(org.apache.hadoop.hive.metastore.api.Table) State(org.apache.gobblin.configuration.State) FieldSchema(org.apache.hadoop.hive.metastore.api.FieldSchema) StorageDescriptor(org.apache.hadoop.hive.metastore.api.StorageDescriptor) AvroContainerInputFormat(org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat) HiveTable(org.apache.gobblin.hive.HiveTable) Test(org.testng.annotations.Test)

Example 7 with HiveTable

use of org.apache.gobblin.hive.HiveTable in project incubator-gobblin by apache.

the class HiveMetaStoreUtilsTest method testGetTableAvroInvalidSchema.

@Test
public void testGetTableAvroInvalidSchema() {
    final String databaseName = "testdb";
    final String tableName = "testtable";
    HiveTable.Builder builder = new HiveTable.Builder();
    builder.withDbName(databaseName).withTableName(tableName);
    State serdeProps = new State();
    serdeProps.setProp("avro.schema.literal", "invalid schema");
    builder.withSerdeProps(serdeProps);
    HiveTable hiveTable = builder.build();
    hiveTable.setInputFormat(AvroContainerInputFormat.class.getName());
    hiveTable.setOutputFormat(AvroContainerOutputFormat.class.getName());
    hiveTable.setSerDeType(AvroSerDe.class.getName());
    Table table = HiveMetaStoreUtils.getTable(hiveTable);
    Assert.assertEquals(table.getDbName(), databaseName);
    Assert.assertEquals(table.getTableName(), tableName);
    StorageDescriptor sd = table.getSd();
    Assert.assertEquals(sd.getInputFormat(), AvroContainerInputFormat.class.getName());
    Assert.assertEquals(sd.getOutputFormat(), AvroContainerOutputFormat.class.getName());
    Assert.assertNotNull(sd.getSerdeInfo());
    Assert.assertEquals(sd.getSerdeInfo().getSerializationLib(), AvroSerDe.class.getName());
    List<FieldSchema> fields = sd.getCols();
    Assert.assertTrue(fields != null && fields.size() == 0);
}
Also used : AvroContainerOutputFormat(org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat) AvroSerDe(org.apache.hadoop.hive.serde2.avro.AvroSerDe) HiveTable(org.apache.gobblin.hive.HiveTable) Table(org.apache.hadoop.hive.metastore.api.Table) State(org.apache.gobblin.configuration.State) FieldSchema(org.apache.hadoop.hive.metastore.api.FieldSchema) StorageDescriptor(org.apache.hadoop.hive.metastore.api.StorageDescriptor) AvroContainerInputFormat(org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat) HiveTable(org.apache.gobblin.hive.HiveTable) Test(org.testng.annotations.Test)

Aggregations

HiveTable (org.apache.gobblin.hive.HiveTable)7 State (org.apache.gobblin.configuration.State)5 Table (org.apache.hadoop.hive.metastore.api.Table)3 FieldSchema (org.apache.hadoop.hive.metastore.api.FieldSchema)2 StorageDescriptor (org.apache.hadoop.hive.metastore.api.StorageDescriptor)2 AvroContainerInputFormat (org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat)2 AvroContainerOutputFormat (org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat)2 AvroSerDe (org.apache.hadoop.hive.serde2.avro.AvroSerDe)2 Test (org.testng.annotations.Test)2 Timer (com.codahale.metrics.Timer)1 HiveSpec (org.apache.gobblin.hive.spec.HiveSpec)1 SimpleHiveSpec (org.apache.gobblin.hive.spec.SimpleHiveSpec)1 AutoCloseableLock (org.apache.gobblin.util.AutoCloseableLock)1 AlreadyExistsException (org.apache.hadoop.hive.metastore.api.AlreadyExistsException)1 TException (org.apache.thrift.TException)1