bi_etl.lookups.lookup module
Created on Feb 26, 2015
@author: Derek Wood
- class bi_etl.lookups.lookup.Lookup(lookup_name: str, lookup_keys: list, parent_component: ETLComponent, config: BI_ETL_Config_Base = None, use_value_cache: bool = True, **kwargs)[source]
Bases:
Iterable
- COLLECTION_INDEX = datetime.datetime(1900, 1, 1, 0, 0)
- DB_LOOKUP_WARNING = 1000
- VERSION_COLLECTION_TYPE
alias of
OOBTree
- __init__(lookup_name: str, lookup_keys: list, parent_component: ETLComponent, config: BI_ETL_Config_Base = None, use_value_cache: bool = True, **kwargs)[source]
- cache_row(row: Row, allow_update: bool = True, allow_insert: bool = True)[source]
Adds the given row to the cache for this lookup.
- Parameters:
- Raises:
ValueError – If allow_update is False and an already existing row (lookup key) is passed in.
- cache_set(lk_tuple: tuple, version_collection: OOBTree[datetime, Row], allow_update: bool = True)[source]
Adds the given set of rows to the cache for this lookup.
- Parameters:
- Raises:
ValueError – If allow_update is False and an already existing row (lookup key) is passed in.
- find(row: ROW_TYPES, fallback_to_db: bool = True, maintain_cache: bool = True, stats: Statistics = None, **kwargs) Row [source]
- find_in_cache(row: ROW_TYPES, **kwargs) Row [source]
Find a matching row in the lookup based on the lookup index (keys)
- find_in_remote_table(row: ROW_TYPES, **kwargs) Row [source]
Find a matching row in the lookup based on the lookup index (keys)
Only works if parent_component is based on bi_etl.components.readonlytable
- Parameters:
row¶ – The row with keys to search row
- Return type:
A row
- find_versions_list(row: ROW_TYPES, fallback_to_db: bool = True, maintain_cache: bool = True, stats: Statistics = None) list [source]
- find_where(key_names: Sequence, key_values_dict: Mapping, limit: int = None)[source]
Scan all cached rows (expensive) to find list of rows that match criteria.
- get_versions_collection(row: ROW_TYPES) MutableMapping[datetime, Row] [source]
This method exists for compatibility with range caches
- Parameters:
row¶ – The row with keys to search row
- Return type:
A MutableMapping of rows
- has_row(row: ROW_TYPES) bool [source]
Does the row exist in the cache (for any date if it’s a date range cache)
- Parameters:
row¶ –
- property lookup_keys_set
- row_iteration_header_has_lookup_keys(row_iteration_header: RowIterationHeader) bool [source]