All, I'm working on a hadoop project that uses HBaseStore as a backend and need to use a different table per DataStore object on every hadoop run. To achieve this I need to alter my hadoop configuration on every run, but unfortunately it seems that for this use case, there is only one configuration variable for all tables 'preferred.schema.name'. To alleviate this I had to extend from HBaseStore and override 'getSchemaName(args)' as follows:
@Override protected String getSchemaName(String mappingSchemaName, Class<?> persistentClass) { String fullKey = "preferred." + StringUtils.getClassname(persistentClass).toLowerCase() + "." + DataStoreFactory.SCHEMA_NAME; String confSchemaName = getOrCreateConf().get(fullKey); if (confSchemaName != null) { LOG.info("Preferred schema for " + persistentClass + ": " + confSchemaName); return confSchemaName; } return super.getSchemaName(mappingSchemaName, persistentClass); } I'm thinking it would probably be best if it was incorporated into HBaseStore instead. Thoughts? Cheers, Harry Papaxenopoulos