File tree 2 files changed +14
-3
lines changed
main/scala/ai/chronon/integrations/cloud_gcp
test/scala/ai/chronon/integrations/cloud_gcp
2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -47,10 +47,10 @@ class GcpFormatProvider(override val sparkSession: SparkSession) extends Default
47
47
}
48
48
}
49
49
50
- private def getCatalog (tableName : String ): String = {
50
+ private [cloud_gcp] def getCatalog (tableName : String ): String = {
51
51
logger.info(s " Retrieving read format for table: ${tableName}" )
52
52
val parsed = sparkSession.sessionState.sqlParser.parseMultipartIdentifier(tableName)
53
- val parsedCatalog = parsed match {
53
+ val parsedCatalog = parsed.toList match {
54
54
case catalog :: namespace :: tableName :: Nil => catalog
55
55
case namespace :: tableName :: Nil => sparkSession.catalog.currentCatalog()
56
56
case tableName :: Nil => sparkSession.catalog.currentCatalog()
@@ -59,7 +59,7 @@ class GcpFormatProvider(override val sparkSession: SparkSession) extends Default
59
59
parsedCatalog
60
60
}
61
61
62
- private def isBigQueryCatalog (catalog : String ): Boolean = {
62
+ private [cloud_gcp] def isBigQueryCatalog (catalog : String ): Boolean = {
63
63
val cat = sparkSession.sessionState.catalogManager.catalog(catalog)
64
64
cat.isInstanceOf [DelegatingBigQueryMetastoreCatalog ] || cat
65
65
.isInstanceOf [BigQueryCatalog ] || (cat.isInstanceOf [SparkCatalog ] && cat
Original file line number Diff line number Diff line change @@ -61,6 +61,17 @@ class BigQueryCatalogTest extends AnyFlatSpec with MockitoSugar {
61
61
assertCompiles(" classOf[GoogleHadoopFS]" )
62
62
}
63
63
64
+ it should " test catalog detection" in {
65
+ val fp = FormatProvider .from(spark).asInstanceOf [GcpFormatProvider ]
66
+ assertEquals(" catalogA" , fp.getCatalog(" catalogA.foo.bar" ))
67
+ assertEquals(" catalogA" , fp.getCatalog(" `catalogA`.foo.bar" ))
68
+ assertEquals(" spark_catalog" , fp.getCatalog(" `catalogA.foo`.bar" ))
69
+ assertEquals(" spark_catalog" , fp.getCatalog(" `catalogA.foo.bar`" ))
70
+ assertEquals(" spark_catalog" , fp.getCatalog(" foo.bar" ))
71
+ assertEquals(" spark_catalog" , fp.getCatalog(" bar" ))
72
+ assertThrows[ParseException ](fp.getCatalog(" " ))
73
+ }
74
+
64
75
it should " verify dynamic classloading of GCP providers" in {
65
76
assertEquals(" thrift://localhost:9083" , spark.sqlContext.getConf(" hive.metastore.uris" ))
66
77
assertTrue(FormatProvider .from(spark).isInstanceOf [GcpFormatProvider ])
You can’t perform that action at this time.
0 commit comments