Hive Slots¶
Slots that could be implemented by third-party plugins.
Added in 0.7.0
normalize_cluster_name(cluster)
staticmethod
¶
Normalize cluster name passed into Hive constructor.
If hooks didn't return anything, cluster name is left intact.
Added in 0.7.0
Parameters:
-
cluster(str) –Cluster name (raw)
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()
get_known_clusters()
staticmethod
¶
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.
Added in 0.7.0
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"}
get_current_cluster()
staticmethod
¶
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.
Added in 0.7.0
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"