common.normalizers.json.relational
DataItemNormalizer Objects
class DataItemNormalizer(DataItemNormalizerBase[RelationalNormalizerConfig])
C_DLT_ROOT_ID
unique id of top level parent
C_DLT_PARENT_ID
unique id of parent row
C_DLT_LIST_IDX
position in the list of rows
C_VALUE
for lists of simple types
EMPTY_KEY_IDENTIFIER
replace empty keys with this
__init__
def __init__(schema: Schema) -> None
This item normalizer works with nested dictionaries. It flattens dictionaries and descends into lists. It yields row dictionaries at each nesting level.
extend_schema
def extend_schema() -> None
Extends Schema with normalizer-specific hints and settings.
This method is called by Schema when instance is created or restored from storage.
extend_table
def extend_table(table_name: str) -> None
If the table has a merge write disposition, add propagation info to normalizer
Called by Schema when new table is added to schema or table is updated with partial table. Table name should be normalized.
remove_table
def remove_table(table_name: str) -> None
Called by the Schema when table is removed from it.