Closed 597365581 closed 4 years ago
in package com.facebook.presto.hbase ,HbaseClient.java ‘s createTable method need to modify as below. public HbaseTable createTable(ConnectorTableMetadata meta) { LOG.info("ConnectorTableMetadata :" + meta.toString());
// Validate the DDL is something we can handle
validateCreateTable(meta);
Map<String, Object> tableProperties = meta.getProperties();
String rowIdColumn = getRowIdColumn(meta);
// Get the list of column handles
List<HbaseColumnHandle> columns = getColumnHandles(meta, rowIdColumn);
// Create the HbaseTable object
HbaseTable table = new HbaseTable(
meta.getTable().getSchemaName(),
meta.getTable().getTableName(),
columns,
rowIdColumn,
HbaseTableProperties.isExternal(tableProperties),
HbaseTableProperties.getScanAuthorizations(tableProperties));
// First, create the metadata
metaManager.createTableMetadata(table);
LOG.info("hbase table :" + table.toString());
// Make sure the namespace exists
tableManager.ensureNamespace(table.getSchema());
// Set any locality groups on the data table
Set<HColumnDescriptor> familys = getFamilys(tableProperties, table);
//tableManager.setFamilys(table.getFullTableName(), familys);
// Create the Hbase table if it does not exist (for 'external' table)
// add namespace String hbaseTableName = table.getSchema() + ":" + table.getTable(); if (!tableManager.exists(hbaseTableName)) { try { tableManager.createHbaseTable(hbaseTableName, familys); } catch (Exception e) { metaManager.deleteTableMetadata(table.getSchemaTableName()); throw e; } }
return table;
}
in package com.facebook.presto.hbase ,HbaseClient.java create hbase table is not support namespace,is only support namespace is default public HbaseTable createTable(ConnectorTableMetadata meta) { ...... // Create the Hbase table if it does not exist (for 'external' table) if (!tableManager.exists(table.getFullTableName())) { try { tableManager.createHbaseTable(table.getFullTableName(), familys); } catch (Exception e) { metaManager.deleteTableMetadata(table.getSchemaTableName()); throw e; } }
....... }