Hive Slots#
- class onetl.connection.db_connection.hive.slots.HiveSlots#
Slots that could be implemented by third-party plugins.
- static normalize_cluster_name(cluster: str) str | None #
Normalize cluster name passed into Hive constructor.
If hooks didn’t return anything, cluster name is left intact.
- Parameters:
- cluster
str
Cluster name (raw)
- cluster
- Returns:
- str | None
Normalized cluster name.
If hook cannot be applied to a specific cluster, it should return
None
.
Examples
from onetl.connection import Hive from onetl.hooks import hook @Hive.Slots.normalize_cluster_name.bind @hook def normalize_cluster_name(cluster: str) -> str: return cluster.lower()
- static get_known_clusters() set[str] | None #
Return collection of known clusters.
Cluster passed into Hive constructor should be present in this list. If hooks didn’t return anything, no validation will be performed.
- Returns:
- set[str] | None
Collection of cluster names (normalized).
If hook cannot be applied, it should return
None
.
Examples
from onetl.connection import Hive from onetl.hooks import hook @Hive.Slots.get_known_clusters.bind @hook def get_known_clusters() -> str[str]: return {"rnd-dwh", "rnd-prod"}
- static get_current_cluster() str | None #
-
Used in
check
method to verify that connection is created only from the same cluster. If hooks didn’t return anything, no validation will be performed.- Returns:
- str | None
Current cluster name (normalized).
If hook cannot be applied, it should return
None
.
Examples
from onetl.connection import Hive from onetl.hooks import hook @Hive.Slots.get_current_cluster.bind @hook def get_current_cluster() -> str: # some magic here return "rnd-dwh"