Basically Google BigTable doesn't have namespaces & name descriptors Check this
Hence, during createRelation task we have to skip calling getter/setter methods of namespaces & name descriptors viz. getNamespaceDescriptor() and createNamespace()
There were 2 issues -
Create new class variable tableType in HBaseTableCatalogtableType variable by default is initialized to value "hbase"
Add getter and setter methods to overwrite tableType variable
Create if else branch in createTableIfNotExist() in HBaseRelation class based on tableType variable set in catalog, so as to skip calling namespace getter methods if API is used to perform write into Google BigTable
Illustrate the usage for writing into Google BigTable iin README.md
How was this patch tested?
Unit test is added, HBaseTableCatalogSuite.scala
Manual testing is performed thoroughly and I'm using this in one of my project & running since 7 months in production, therefore I think now this is stable & right time to create pull request to merge into master branch
Background -
Basically Google BigTable doesn't have namespaces & name descriptors Check this Hence, during
createRelation
task we have to skip calling getter/setter methods of namespaces & name descriptors viz.getNamespaceDescriptor()
andcreateNamespace()
There were 2 issues -What changes were proposed in this pull request?
tableType
inHBaseTableCatalog
tableType
variable by default is initialized to value "hbase"tableType
variablecreateTableIfNotExist()
inHBaseRelation
class based ontableType
variable set in catalog, so as to skip calling namespace getter methods if API is used to perform write into Google BigTableHow was this patch tested?
HBaseTableCatalogSuite.scala
Regards, Vitthal