@@ -435,8 +435,7 @@ private Object invoke() throws Exception {
435
435
try {
436
436
Table table = hmc .getTable (schema , tableName );
437
437
Properties metadata = table .getMetadata ();
438
- String tblDataSourcePath = metadata .getProperty ("path" );
439
- tblDataSourcePath = tblDataSourcePath == null ? "" : tblDataSourcePath ;
438
+ String tblDataSourcePath = getDataSourcePath (metadata );
440
439
String driverClass = metadata .getProperty ("driver" );
441
440
driverClass = ((driverClass == null ) || driverClass .isEmpty ()) ? "" : driverClass ;
442
441
String tableType = ExternalTableType .getTableType (table );
@@ -570,9 +569,9 @@ private Object invoke() throws Exception {
570
569
value = parameters .get (ExternalStoreUtils .COMPRESSION_CODEC ());
571
570
String compressionCodec = value == null ? Constant .DEFAULT_CODEC () : value .toString ();
572
571
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" );
576
575
driverClass = ((driverClass == null ) || driverClass .isEmpty ()) ? "" : driverClass ;
577
576
return new ExternalTableMetaData (
578
577
fullyQualifiedName ,
@@ -687,6 +686,15 @@ private Table getTable(Hive hmc, String dbName, String tableName) throws SQLExce
687
686
}
688
687
}
689
688
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
+
690
698
private String getType (Hive hmc ) throws SQLException {
691
699
return ExternalTableType .getTableType (getTable (hmc , this .dbName , this .tableName ));
692
700
}
0 commit comments