Слоты Hive
[Slots][slot-decorator] that could be implemented by third-party plugins.
Added in 0.7.0
Source code in onetl/connection/db_connection/hive/slots.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | |
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()
Source code in onetl/connection/db_connection/hive/slots.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
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"}
Source code in onetl/connection/db_connection/hive/slots.py
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | |
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"
Source code in onetl/connection/db_connection/hive/slots.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | |