@@ -435,8 +435,7 @@ private Object invoke() throws Exception {
435435 try {
436436 Table table = hmc .getTable (schema , tableName );
437437 Properties metadata = table .getMetadata ();
438- String tblDataSourcePath = metadata .getProperty ("path" );
439- tblDataSourcePath = tblDataSourcePath == null ? "" : tblDataSourcePath ;
438+ String tblDataSourcePath = getDataSourcePath (metadata );
440439 String driverClass = metadata .getProperty ("driver" );
441440 driverClass = ((driverClass == null ) || driverClass .isEmpty ()) ? "" : driverClass ;
442441 String tableType = ExternalTableType .getTableType (table );
@@ -570,9 +569,9 @@ private Object invoke() throws Exception {
570569 value = parameters .get (ExternalStoreUtils .COMPRESSION_CODEC ());
571570 String compressionCodec = value == null ? Constant .DEFAULT_CODEC () : value .toString ();
572571 String tableType = ExternalTableType .getTableType (table );
573- String tblDataSourcePath = table .getMetadata (). getProperty ( "path" );
574- tblDataSourcePath = tblDataSourcePath == null ? "" : tblDataSourcePath ;
575- String driverClass = table . getMetadata () .getProperty ("driver" );
572+ Properties metadata = table .getMetadata ();
573+ String tblDataSourcePath = getDataSourcePath ( metadata ) ;
574+ String driverClass = metadata .getProperty ("driver" );
576575 driverClass = ((driverClass == null ) || driverClass .isEmpty ()) ? "" : driverClass ;
577576 return new ExternalTableMetaData (
578577 fullyQualifiedName ,
@@ -687,6 +686,15 @@ private Table getTable(Hive hmc, String dbName, String tableName) throws SQLExce
687686 }
688687 }
689688
689+ private String getDataSourcePath (Properties metadata ) {
690+ String dataSourcePath = metadata .getProperty ("path" );
691+ if (dataSourcePath == null || dataSourcePath .isEmpty ()) {
692+ // for external connectors like GemFire
693+ dataSourcePath = metadata .getProperty ("region.path" );
694+ }
695+ return dataSourcePath != null ? dataSourcePath : "" ;
696+ }
697+
690698 private String getType (Hive hmc ) throws SQLException {
691699 return ExternalTableType .getTableType (getTable (hmc , this .dbName , this .tableName ));
692700 }
0 commit comments