[
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Begin initialization of %i children.",
    "args": [
      2
    ],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 132,
    "funcName": "initialize_sources",
    "created": 1557606600.039448,
    "msecs": 401.0,
    "relativeCreated": 641.914386,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "MultiFetcher.initialize_sources:enter",
    "message": "Begin initialization of 2 children.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin initialization of 'MemoryFetcher' at 0x74b306dcd400.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 93,
    "funcName": "initialize_sources",
    "created": 1557606600.039596,
    "msecs": 401.0,
    "relativeCreated": 642.111987,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "MemoryFetcher.initialize_sources:enter",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin initialization of 'MemoryFetcher' at 0x74b306dcd400.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished initialization of 'MemoryFetcher' in 96 \u03bcs: MemoryFetcher(sources=['category'], return_all=True)",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 108,
    "funcName": "initialize_sources",
    "created": 1557606600.039672,
    "msecs": 401.0,
    "relativeCreated": 642.197041,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "MemoryFetcher.initialize_sources:exit",
    "seconds": 9.557299972584588e-05,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished initialization of 'MemoryFetcher' in 96 \u03bcs: MemoryFetcher(sources=['category'], return_all=True)",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin initialization of 'SqlFetcher' at 0x74b306dcda90.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 93,
    "funcName": "initialize_sources",
    "created": 1557606600.039719,
    "msecs": 401.0,
    "relativeCreated": 642.245797,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.initialize_sources:enter",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin initialization of 'SqlFetcher' at 0x74b306dcda90.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Metadata for 'postgresql+pg8000://postgres:***@localhost:5002/sakila' created in 94 ms.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_sql_fetcher.py",
    "filename": "_sql_fetcher.py",
    "module": "_sql_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 413,
    "funcName": "_get_summaries",
    "created": 1557606600.133702,
    "msecs": 495.0,
    "relativeCreated": 736.203296,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Metadata for 'postgresql+pg8000://postgres:***@localhost:5002/sakila' created in 94 ms.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'str_uuid', 'comment', 'uuid'} for source='uuid_test_table'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.133787,
    "msecs": 495.0,
    "relativeCreated": 736.312405,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "str_uuid",
      "comment",
      "uuid"
    ],
    "context": "uuid_test_table",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'str_uuid', 'comment', 'uuid'} for source='uuid_test_table'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='uuid_test_table' for ['id']x['str_uuid', 'comment', 'uuid'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.133863,
    "msecs": 495.0,
    "relativeCreated": 736.390122,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='uuid_test_table' for ['id']x['str_uuid', 'comment', 'uuid'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.133892,
    "msecs": 495.0,
    "relativeCreated": 736.42143,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.133961,
    "msecs": 495.0,
    "relativeCreated": 736.488221,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.133984,
    "msecs": 495.0,
    "relativeCreated": 736.508044,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.333, 0.142, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.134059,
    "msecs": 495.0,
    "relativeCreated": 736.587541,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.333, 0.142, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.1, 0.374, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.134113,
    "msecs": 495.0,
    "relativeCreated": 736.623268,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.1, 0.374, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> ('uuid_test_table_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.033, 0.022, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.134148,
    "msecs": 495.0,
    "relativeCreated": 736.677404,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> ('uuid_test_table_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.033, 0.022, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.333, 0.142, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.134174,
    "msecs": 495.0,
    "relativeCreated": 736.704258,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='uuid_test_table':\n    ('id', ['uuid', 'str_uuid', 'comment']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.333, 0.142, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['uuid': 0.33 -> 0.33 (+0.00), 'str_uuid': 0.14 -> 0.37 (+0.23), 'comment': -0.00 -> -0.00 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.134195,
    "msecs": 496.0,
    "relativeCreated": 736.725095,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['uuid': 0.33 -> 0.33 (+0.00), 'str_uuid': 0.14 -> 0.37 (+0.23), 'comment': -0.00 -> -0.00 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x3 match scores in context='uuid_test_table' in 407 \u03bcs:\ncandidates  str_uuid  comment  uuid\nvalues                             \nid              0.37    -0.00  0.33",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.135805,
    "msecs": 497.0,
    "relativeCreated": 738.314363,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x3 match scores in context='uuid_test_table' in 407 \u03bcs:\ncandidates  str_uuid  comment  uuid\nvalues                             \nid              0.37    -0.00  0.33",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'str_uuid'; score=0.369 < 0.9 (below threshold).\n    'id' -> 'uuid'; score=0.333 < 0.9 (below threshold).\n    'id' -> 'comment'; score=-0.002 < 0.9 (below threshold).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.135904,
    "msecs": 497.0,
    "relativeCreated": 738.425841,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'str_uuid'; score=0.369 < 0.9 (below threshold).\n    'id' -> 'uuid'; score=0.333 < 0.9 (below threshold).\n    'id' -> 'comment'; score=-0.002 < 0.9 (below threshold).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map {'id'} in context='uuid_test_table' to any of candidates={'uuid', 'str_uuid', 'comment'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 192,
    "funcName": "_report_unmapped",
    "created": 1557606600.135944,
    "msecs": 497.0,
    "relativeCreated": 738.47162,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map {'id'} in context='uuid_test_table' to any of candidates={'uuid', 'str_uuid', 'comment'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x{'uuid', 'str_uuid', 'comment'} in 2 ms. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.135973,
    "msecs": 497.0,
    "relativeCreated": 738.50238,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x{'uuid', 'str_uuid', 'comment'} in 2 ms. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='uuid_test_table': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.136002,
    "msecs": 497.0,
    "relativeCreated": 738.528926,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0022243800003707292,
    "mapping": {
      "id": null
    },
    "context": "uuid_test_table",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='uuid_test_table': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'} for source='address'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.136037,
    "msecs": 497.0,
    "relativeCreated": 738.565174,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "address2",
      "address_id",
      "address",
      "postal_code",
      "last_update",
      "phone",
      "district",
      "city_id"
    ],
    "context": "address",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'} for source='address'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='address' for ['id']x['address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.136081,
    "msecs": 497.0,
    "relativeCreated": 738.61015,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='address' for ['id']x['address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.136107,
    "msecs": 497.0,
    "relativeCreated": 738.636141,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.136135,
    "msecs": 497.0,
    "relativeCreated": 738.664537,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.13615,
    "msecs": 497.0,
    "relativeCreated": 738.68045,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.111, -0.001, -0.002, -0.003, -0.004, 0.162, -0.006, -0.007].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.136218,
    "msecs": 498.0,
    "relativeCreated": 738.746739,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.111, -0.001, -0.002, -0.003, -0.004, 0.162, -0.006, -0.007].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.167, -0.001, -0.002, -0.003, 0.121, 0.209, -0.006, -0.007].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.136257,
    "msecs": 498.0,
    "relativeCreated": 738.78497,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.167, -0.001, -0.002, -0.003, 0.121, 0.209, -0.006, -0.007].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> ('address_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, -0.002, -0.003, 0.038, 0.102, -0.006, 0.043].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.136347,
    "msecs": 498.0,
    "relativeCreated": 738.872287,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> ('address_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, -0.002, -0.003, 0.038, 0.102, -0.006, 0.043].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.111, -0.001, -0.002, -0.003, -0.004, 0.162, -0.006, -0.007].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.136383,
    "msecs": 498.0,
    "relativeCreated": 738.912475,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='address':\n    ('id', ['address_id', 'address', 'postal_code', 'phone', 'district', 'city_id', 'address2', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.111, -0.001, -0.002, -0.003, -0.004, 0.162, -0.006, -0.007].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['address_id': 0.11 -> 0.99 (+0.88), 'address': -0.00 -> -0.00 (+0.00), 'postal_code': -0.00 -> -0.00 (+0.00), 'phone': -0.00 -> -0.00 (+0.00), 'district': -0.00 -> 0.12 (+0.12), 'city_id': 0.16 -> 0.20 (+0.04), 'address2': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> 0.03 (+0.04)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.136408,
    "msecs": 498.0,
    "relativeCreated": 738.937554,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['address_id': 0.11 -> 0.99 (+0.88), 'address': -0.00 -> -0.00 (+0.00), 'postal_code': -0.00 -> -0.00 (+0.00), 'phone': -0.00 -> -0.00 (+0.00), 'district': -0.00 -> 0.12 (+0.12), 'city_id': 0.16 -> 0.20 (+0.04), 'address2': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> 0.03 (+0.04)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x8 match scores in context='address' in 376 \u03bcs:\ncandidates  address2  address_id  address  postal_code  last_update  phone  district  city_id\nvalues                                                                                       \nid             -0.01        0.99    -0.00        -0.00         0.03  -0.00      0.12     0.20",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.137246,
    "msecs": 499.0,
    "relativeCreated": 739.764357,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x8 match scores in context='address' in 376 \u03bcs:\ncandidates  address2  address_id  address  postal_code  last_update  phone  district  city_id\nvalues                                                                                       \nid             -0.01        0.99    -0.00        -0.00         0.03  -0.00      0.12     0.20",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'address_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.137337,
    "msecs": 499.0,
    "relativeCreated": 739.862839,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'address_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'] in 1 ms. Matches:\n    'id' -> ('address_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.137385,
    "msecs": 499.0,
    "relativeCreated": 739.91267,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['address2', 'address_id', 'address', 'postal_code', 'last_update', 'phone', 'district', 'city_id'] in 1 ms. Matches:\n    'id' -> ('address_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='address': {'id': 'address_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.137411,
    "msecs": 499.0,
    "relativeCreated": 739.938636,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0013786419999632926,
    "mapping": {
      "id": "address_id"
    },
    "context": "address",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='address': {'id': 'address_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_06'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.137448,
    "msecs": 499.0,
    "relativeCreated": 739.976353,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_06",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_06'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_06' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.137485,
    "msecs": 499.0,
    "relativeCreated": 740.013739,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_06' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.137506,
    "msecs": 499.0,
    "relativeCreated": 740.035148,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_06'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.137538,
    "msecs": 499.0,
    "relativeCreated": 740.068214,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_06'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.137561,
    "msecs": 499.0,
    "relativeCreated": 740.090567,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_06' in 112 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.138492,
    "msecs": 500.0,
    "relativeCreated": 741.009499,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_06' in 112 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.138686,
    "msecs": 500.0,
    "relativeCreated": 741.084533,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 1 ms. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.138769,
    "msecs": 500.0,
    "relativeCreated": 741.27909,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 1 ms. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_06': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.138827,
    "msecs": 500.0,
    "relativeCreated": 741.352322,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0013750809998782643,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_06",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_06': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'} for source='film'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.138865,
    "msecs": 500.0,
    "relativeCreated": 741.392123,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "title",
      "special_features",
      "description",
      "language_id",
      "rating",
      "replacement_cost",
      "original_language_id",
      "rental_rate",
      "release_year",
      "rental_duration",
      "fulltext",
      "film_id",
      "length",
      "last_update"
    ],
    "context": "film",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'} for source='film'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='film' for ['id']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.138907,
    "msecs": 500.0,
    "relativeCreated": 741.435767,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='film' for ['id']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.13893,
    "msecs": 500.0,
    "relativeCreated": 741.459527,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.138955,
    "msecs": 500.0,
    "relativeCreated": 741.485177,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.13897,
    "msecs": 500.0,
    "relativeCreated": 741.500397,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.139054,
    "msecs": 500.0,
    "relativeCreated": 741.581854,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.012, 0.028, 0.09, 0.106, -0.006, 0.022, -0.008, -0.009, 0.021, 0.203, -0.012, 0.237].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.1391,
    "msecs": 500.0,
    "relativeCreated": 741.628904,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.012, 0.028, 0.09, 0.106, -0.006, 0.022, -0.008, -0.009, 0.021, 0.203, -0.012, 0.237].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, -0.002, 0.026, 0.082, -0.005, -0.006, 0.024, -0.008, -0.009, -0.01, 0.989, -0.012, 0.058].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.139204,
    "msecs": 501.0,
    "relativeCreated": 741.731017,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, -0.002, 0.026, 0.082, -0.005, -0.006, 0.024, -0.008, -0.009, -0.01, 0.989, -0.012, 0.058].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.139242,
    "msecs": 501.0,
    "relativeCreated": 741.771671,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'title': -0.00 -> -0.00 (+0.00), 'special_features': -0.00 -> 0.01 (+0.01), 'description': -0.00 -> 0.02 (+0.03), 'language_id': 0.10 -> 0.10 (+0.00), 'rating': -0.01 -> 0.10 (+0.11), 'replacement_cost': -0.01 -> -0.01 (+0.00), 'original_language_id': 0.05 -> 0.05 (+0.00), 'rental_rate': -0.01 -> -0.01 (+0.00), 'release_year': -0.01 -> -0.01 (+0.00), 'rental_duration': -0.01 -> 0.02 (+0.03), 'film_id': 0.16 -> 0.98 (+0.82), 'length': -0.01 -> -0.01 (+0.00), 'fulltext': -0.01 -> 0.23 (+0.24)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.139304,
    "msecs": 501.0,
    "relativeCreated": 741.820186,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'title': -0.00 -> -0.00 (+0.00), 'special_features': -0.00 -> 0.01 (+0.01), 'description': -0.00 -> 0.02 (+0.03), 'language_id': 0.10 -> 0.10 (+0.00), 'rating': -0.01 -> 0.10 (+0.11), 'replacement_cost': -0.01 -> -0.01 (+0.00), 'original_language_id': 0.05 -> 0.05 (+0.00), 'rental_rate': -0.01 -> -0.01 (+0.00), 'release_year': -0.01 -> -0.01 (+0.00), 'rental_duration': -0.01 -> 0.02 (+0.03), 'film_id': 0.16 -> 0.98 (+0.82), 'length': -0.01 -> -0.01 (+0.00), 'fulltext': -0.01 -> 0.23 (+0.24)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x14 match scores in context='film' in 463 \u03bcs:\ncandidates  title  special_features  description  language_id  rating  replacement_cost  original_language_id  rental_rate  release_year  rental_duration  fulltext  film_id  length  last_update\nvalues                                                                                                                                                                                           \nid          -0.00              0.01         0.02         0.10    0.10             -0.01                  0.05        -0.01         -0.01             0.02      0.23     0.98   -0.01         0.00",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.140674,
    "msecs": 502.0,
    "relativeCreated": 743.192544,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x14 match scores in context='film' in 463 \u03bcs:\ncandidates  title  special_features  description  language_id  rating  replacement_cost  original_language_id  rental_rate  release_year  rental_duration  fulltext  film_id  length  last_update\nvalues                                                                                                                                                                                           \nid          -0.00              0.01         0.02         0.10    0.10             -0.01                  0.05        -0.01         -0.01             0.02      0.23     0.98   -0.01         0.00",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'film_id'; score=0.979 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.14075,
    "msecs": 502.0,
    "relativeCreated": 743.275751,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'film_id'; score=0.979 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] in 2 ms. Matches:\n    'id' -> ('film_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.140795,
    "msecs": 502.0,
    "relativeCreated": 743.323526,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] in 2 ms. Matches:\n    'id' -> ('film_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='film': {'id': 'film_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.140821,
    "msecs": 502.0,
    "relativeCreated": 743.348481,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0019622500003606547,
    "mapping": {
      "id": "film_id"
    },
    "context": "film",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='film': {'id': 'film_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'name', 'language_id', 'last_update'} for source='language'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.14086,
    "msecs": 502.0,
    "relativeCreated": 743.387662,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "name",
      "language_id",
      "last_update"
    ],
    "context": "language",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'name', 'language_id', 'last_update'} for source='language'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='language' for ['id']x['name', 'language_id', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.140901,
    "msecs": 502.0,
    "relativeCreated": 743.429331,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='language' for ['id']x['name', 'language_id', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.140922,
    "msecs": 502.0,
    "relativeCreated": 743.451948,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.140945,
    "msecs": 502.0,
    "relativeCreated": 743.475316,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.14096,
    "msecs": 502.0,
    "relativeCreated": 743.490302,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.099, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.141008,
    "msecs": 502.0,
    "relativeCreated": 743.537087,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.099, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, 0.093, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.141036,
    "msecs": 502.0,
    "relativeCreated": 743.566696,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, 0.093, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> ('language_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, 0.999, 0.18].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.141063,
    "msecs": 502.0,
    "relativeCreated": 743.593016,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> ('language_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, 0.999, 0.18].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, 0.099, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.141087,
    "msecs": 502.0,
    "relativeCreated": 743.616796,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='language':\n    ('id', ['name', 'language_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, 0.099, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['name': 0.00 -> 0.00 (+0.00), 'language_id': 0.10 -> 0.99 (+0.89), 'last_update': -0.00 -> 0.17 (+0.17)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.141119,
    "msecs": 502.0,
    "relativeCreated": 743.635381,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['name': 0.00 -> 0.00 (+0.00), 'language_id': 0.10 -> 0.99 (+0.89), 'last_update': -0.00 -> 0.17 (+0.17)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x3 match scores in context='language' in 260 \u03bcs:\ncandidates  name  language_id  last_update\nvalues                                    \nid          0.00         0.99         0.17",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.141922,
    "msecs": 503.0,
    "relativeCreated": 744.426408,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x3 match scores in context='language' in 260 \u03bcs:\ncandidates  name  language_id  last_update\nvalues                                    \nid          0.00         0.99         0.17",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'language_id'; score=0.989 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.141999,
    "msecs": 503.0,
    "relativeCreated": 744.520626,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'language_id'; score=0.989 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['name', 'language_id', 'last_update'] in 1 ms. Matches:\n    'id' -> ('language_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.142041,
    "msecs": 503.0,
    "relativeCreated": 744.569439,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['name', 'language_id', 'last_update'] in 1 ms. Matches:\n    'id' -> ('language_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='language': {'id': 'language_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.142076,
    "msecs": 503.0,
    "relativeCreated": 744.601781,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0012150620000284107,
    "mapping": {
      "id": "language_id"
    },
    "context": "language",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='language': {'id': 'language_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'} for source='customer'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.142113,
    "msecs": 503.0,
    "relativeCreated": 744.639926,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "customer_id",
      "first_name",
      "address_id",
      "activebool",
      "email",
      "store_id",
      "active",
      "last_name",
      "create_date",
      "last_update"
    ],
    "context": "customer",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'} for source='customer'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='customer' for ['id']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.14215,
    "msecs": 503.0,
    "relativeCreated": 744.678561,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='customer' for ['id']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.142171,
    "msecs": 503.0,
    "relativeCreated": 744.700679,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.142196,
    "msecs": 504.0,
    "relativeCreated": 744.725235,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.14221,
    "msecs": 504.0,
    "relativeCreated": 744.740189,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.142301,
    "msecs": 504.0,
    "relativeCreated": 744.829144,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.094, 0.166, -0.002, 0.039, 0.046, 0.37, 0.05, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.142348,
    "msecs": 504.0,
    "relativeCreated": 744.876986,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.094, 0.166, -0.002, 0.039, 0.046, 0.37, 0.05, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, 0.149, -0.002, 0.097, 0.053, 0.089, -0.006, -0.007, 0.083, 0.173].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.142384,
    "msecs": 504.0,
    "relativeCreated": 744.913865,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, 0.149, -0.002, 0.097, 0.053, 0.089, -0.006, -0.007, 0.083, 0.173].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.142417,
    "msecs": 504.0,
    "relativeCreated": 744.947447,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['customer_id': 0.10 -> 0.99 (+0.89), 'address_id': 0.11 -> 0.16 (+0.05), 'first_name': -0.00 -> -0.00 (+0.00), 'activebool': -0.00 -> 0.09 (+0.09), 'email': 0.12 -> 0.12 (+0.00), 'store_id': 0.14 -> 0.36 (+0.23), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'create_date': -0.01 -> 0.07 (+0.08), 'last_update': -0.01 -> 0.16 (+0.17)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.142441,
    "msecs": 504.0,
    "relativeCreated": 744.97155,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['customer_id': 0.10 -> 0.99 (+0.89), 'address_id': 0.11 -> 0.16 (+0.05), 'first_name': -0.00 -> -0.00 (+0.00), 'activebool': -0.00 -> 0.09 (+0.09), 'email': 0.12 -> 0.12 (+0.00), 'store_id': 0.14 -> 0.36 (+0.23), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'create_date': -0.01 -> 0.07 (+0.08), 'last_update': -0.01 -> 0.16 (+0.17)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x10 match scores in context='customer' in 361 \u03bcs:\ncandidates  customer_id  first_name  address_id  activebool  email  store_id  active  last_name  create_date  last_update\nvalues                                                                                                                   \nid                 0.99       -0.00        0.16        0.09   0.12      0.36    0.04      -0.01         0.07         0.16",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.14345,
    "msecs": 505.0,
    "relativeCreated": 745.969993,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x10 match scores in context='customer' in 361 \u03bcs:\ncandidates  customer_id  first_name  address_id  activebool  email  store_id  active  last_name  create_date  last_update\nvalues                                                                                                                   \nid                 0.99       -0.00        0.16        0.09   0.12      0.36    0.04      -0.01         0.07         0.16",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'customer_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.14351,
    "msecs": 505.0,
    "relativeCreated": 746.037196,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'customer_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] in 1 ms. Matches:\n    'id' -> ('customer_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.14356,
    "msecs": 505.0,
    "relativeCreated": 746.088613,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] in 1 ms. Matches:\n    'id' -> ('customer_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='customer': {'id': 'customer_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.143586,
    "msecs": 505.0,
    "relativeCreated": 746.113015,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.001476254999943194,
    "mapping": {
      "id": "customer_id"
    },
    "context": "customer",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='customer': {'id': 'customer_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_04'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.14362,
    "msecs": 505.0,
    "relativeCreated": 746.148163,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_04",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_04'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_04' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.143658,
    "msecs": 505.0,
    "relativeCreated": 746.186657,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_04' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.143683,
    "msecs": 505.0,
    "relativeCreated": 746.208817,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_04'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.143711,
    "msecs": 505.0,
    "relativeCreated": 746.240269,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_04'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.143729,
    "msecs": 505.0,
    "relativeCreated": 746.25894,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_04' in 108 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.144506,
    "msecs": 506.0,
    "relativeCreated": 747.026351,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_04' in 108 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.144564,
    "msecs": 506.0,
    "relativeCreated": 747.090539,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 958 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.144599,
    "msecs": 506.0,
    "relativeCreated": 747.127502,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 958 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_04': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.14463,
    "msecs": 506.0,
    "relativeCreated": 747.157555,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0010119480002686032,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_04",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_04': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'actor_id', 'film_id'} for source='film_actor'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.144657,
    "msecs": 506.0,
    "relativeCreated": 747.186174,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "last_update",
      "actor_id",
      "film_id"
    ],
    "context": "film_actor",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'actor_id', 'film_id'} for source='film_actor'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='film_actor' for ['id']x['last_update', 'actor_id', 'film_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.144691,
    "msecs": 506.0,
    "relativeCreated": 747.220522,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='film_actor' for ['id']x['last_update', 'actor_id', 'film_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.144714,
    "msecs": 506.0,
    "relativeCreated": 747.24084,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.144736,
    "msecs": 506.0,
    "relativeCreated": 747.26645,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.14475,
    "msecs": 506.0,
    "relativeCreated": 747.280651,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.167, 0.142, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.144798,
    "msecs": 506.0,
    "relativeCreated": 747.327052,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.167, 0.142, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.214, 0.374, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.144828,
    "msecs": 506.0,
    "relativeCreated": 747.357625,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.214, 0.374, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> ('film_actor_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.061, 0.166, 0.028].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.144856,
    "msecs": 506.0,
    "relativeCreated": 747.386245,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> ('film_actor_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.061, 0.166, 0.028].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.167, 0.142, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.14488,
    "msecs": 506.0,
    "relativeCreated": 747.410812,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film_actor':\n    ('id', ['film_id', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.167, 0.142, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['film_id': 0.17 -> 0.21 (+0.04), 'actor_id': 0.14 -> 0.37 (+0.23), 'last_update': -0.00 -> 0.02 (+0.02)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.144901,
    "msecs": 506.0,
    "relativeCreated": 747.430283,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['film_id': 0.17 -> 0.21 (+0.04), 'actor_id': 0.14 -> 0.37 (+0.23), 'last_update': -0.00 -> 0.02 (+0.02)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x3 match scores in context='film_actor' in 247 \u03bcs:\ncandidates  last_update  actor_id  film_id\nvalues                                    \nid                 0.02      0.37     0.21",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.145447,
    "msecs": 507.0,
    "relativeCreated": 747.969887,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x3 match scores in context='film_actor' in 247 \u03bcs:\ncandidates  last_update  actor_id  film_id\nvalues                                    \nid                 0.02      0.37     0.21",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'actor_id'; score=0.369 < 0.9 (below threshold).\n    'id' -> 'film_id'; score=0.209 < 0.9 (below threshold).\n    'id' -> 'last_update'; score=0.018 < 0.9 (below threshold).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.145504,
    "msecs": 507.0,
    "relativeCreated": 748.031671,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'actor_id'; score=0.369 < 0.9 (below threshold).\n    'id' -> 'film_id'; score=0.209 < 0.9 (below threshold).\n    'id' -> 'last_update'; score=0.018 < 0.9 (below threshold).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map {'id'} in context='film_actor' to any of candidates={'film_id', 'actor_id', 'last_update'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 192,
    "funcName": "_report_unmapped",
    "created": 1557606600.145539,
    "msecs": 507.0,
    "relativeCreated": 748.06726,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map {'id'} in context='film_actor' to any of candidates={'film_id', 'actor_id', 'last_update'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x{'film_id', 'actor_id', 'last_update'} in 887 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.145564,
    "msecs": 507.0,
    "relativeCreated": 748.093023,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x{'film_id', 'actor_id', 'last_update'} in 887 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='film_actor': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.145587,
    "msecs": 507.0,
    "relativeCreated": 748.115118,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0009310499999628519,
    "mapping": {
      "id": null
    },
    "context": "film_actor",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='film_actor': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_01'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.145615,
    "msecs": 507.0,
    "relativeCreated": 748.143957,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_01",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_01'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_01' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.145649,
    "msecs": 507.0,
    "relativeCreated": 748.177797,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_01' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.145669,
    "msecs": 507.0,
    "relativeCreated": 748.198532,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_01'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.145711,
    "msecs": 507.0,
    "relativeCreated": 748.239829,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_01'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.145731,
    "msecs": 507.0,
    "relativeCreated": 748.260503,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_01' in 117 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.146363,
    "msecs": 508.0,
    "relativeCreated": 748.884162,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_01' in 117 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.146417,
    "msecs": 508.0,
    "relativeCreated": 748.943743,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 816 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.146452,
    "msecs": 508.0,
    "relativeCreated": 748.979922,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 816 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_01': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.146478,
    "msecs": 508.0,
    "relativeCreated": 749.00526,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0008636849997856189,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_01",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_01': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'country', 'country_id'} for source='country'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.146506,
    "msecs": 508.0,
    "relativeCreated": 749.034332,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "last_update",
      "country",
      "country_id"
    ],
    "context": "country",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'country', 'country_id'} for source='country'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='country' for ['id']x['last_update', 'country', 'country_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.14654,
    "msecs": 508.0,
    "relativeCreated": 749.068414,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='country' for ['id']x['last_update', 'country', 'country_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.146567,
    "msecs": 508.0,
    "relativeCreated": 749.094929,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.14659,
    "msecs": 508.0,
    "relativeCreated": 749.12015,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.146605,
    "msecs": 508.0,
    "relativeCreated": 749.135214,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.111, -0.001, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.146653,
    "msecs": 508.0,
    "relativeCreated": 749.181373,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.111, -0.001, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.125, -0.001, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.146722,
    "msecs": 508.0,
    "relativeCreated": 749.250157,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.125, -0.001, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> ('country_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.146753,
    "msecs": 508.0,
    "relativeCreated": 749.282554,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> ('country_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.111, -0.001, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.14678,
    "msecs": 508.0,
    "relativeCreated": 749.30948,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='country':\n    ('id', ['country_id', 'country', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.111, -0.001, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['country_id': 0.11 -> 0.99 (+0.88), 'country': -0.00 -> -0.00 (+0.00), 'last_update': -0.00 -> -0.00 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.146798,
    "msecs": 508.0,
    "relativeCreated": 749.328829,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['country_id': 0.11 -> 0.99 (+0.88), 'country': -0.00 -> -0.00 (+0.00), 'last_update': -0.00 -> -0.00 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x3 match scores in context='country' in 299 \u03bcs:\ncandidates  last_update  country  country_id\nvalues                                      \nid                -0.00    -0.00        0.99",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.147305,
    "msecs": 509.0,
    "relativeCreated": 749.827506,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x3 match scores in context='country' in 299 \u03bcs:\ncandidates  last_update  country  country_id\nvalues                                      \nid                -0.00    -0.00        0.99",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'country_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.147353,
    "msecs": 509.0,
    "relativeCreated": 749.880551,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'country_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['last_update', 'country', 'country_id'] in 863 \u03bcs. Matches:\n    'id' -> ('country_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.147388,
    "msecs": 509.0,
    "relativeCreated": 749.917255,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['last_update', 'country', 'country_id'] in 863 \u03bcs. Matches:\n    'id' -> ('country_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='country': {'id': 'country_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.147414,
    "msecs": 509.0,
    "relativeCreated": 749.941503,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0009092240002246399,
    "mapping": {
      "id": "country_id"
    },
    "context": "country",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='country': {'id': 'country_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_02'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.147451,
    "msecs": 509.0,
    "relativeCreated": 749.978937,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_02",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_02'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_02' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.147485,
    "msecs": 509.0,
    "relativeCreated": 750.014102,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_02' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.147504,
    "msecs": 509.0,
    "relativeCreated": 750.034277,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_02'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.147528,
    "msecs": 509.0,
    "relativeCreated": 750.058151,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_02'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.147547,
    "msecs": 509.0,
    "relativeCreated": 750.077578,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_02' in 97 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.148251,
    "msecs": 510.0,
    "relativeCreated": 750.771053,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_02' in 97 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.148314,
    "msecs": 510.0,
    "relativeCreated": 750.840349,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 876 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.148348,
    "msecs": 510.0,
    "relativeCreated": 750.876084,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 876 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_02': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.148372,
    "msecs": 510.0,
    "relativeCreated": 750.899878,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0009232920001522871,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_02",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_02': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'category_id', 'film_id'} for source='film_category'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.148404,
    "msecs": 510.0,
    "relativeCreated": 750.932738,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "last_update",
      "category_id",
      "film_id"
    ],
    "context": "film_category",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_update', 'category_id', 'film_id'} for source='film_category'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='film_category' for ['id']x['last_update', 'category_id', 'film_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.148438,
    "msecs": 510.0,
    "relativeCreated": 750.966919,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='film_category' for ['id']x['last_update', 'category_id', 'film_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.148458,
    "msecs": 510.0,
    "relativeCreated": 750.988136,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.14848,
    "msecs": 510.0,
    "relativeCreated": 751.010179,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.148494,
    "msecs": 510.0,
    "relativeCreated": 751.024179,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.167, 0.099, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.148543,
    "msecs": 510.0,
    "relativeCreated": 751.07186,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.167, 0.099, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.214, 0.093, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.148572,
    "msecs": 510.0,
    "relativeCreated": 751.102078,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.214, 0.093, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> ('film_category_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.043, 0.166, 0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.148599,
    "msecs": 510.0,
    "relativeCreated": 751.129255,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> ('film_category_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.043, 0.166, 0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.167, 0.099, -0.002].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.148623,
    "msecs": 510.0,
    "relativeCreated": 751.153632,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film_category':\n    ('id', ['film_id', 'category_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.167, 0.099, -0.002].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['film_id': 0.17 -> 0.21 (+0.04), 'category_id': 0.10 -> 0.16 (+0.06), 'last_update': -0.00 -> 0.00 (+0.01)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.148642,
    "msecs": 510.0,
    "relativeCreated": 751.171849,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['film_id': 0.17 -> 0.21 (+0.04), 'category_id': 0.10 -> 0.16 (+0.06), 'last_update': -0.00 -> 0.00 (+0.01)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x3 match scores in context='film_category' in 241 \u03bcs:\ncandidates  last_update  category_id  film_id\nvalues                                       \nid                 0.00         0.16     0.21",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.149142,
    "msecs": 510.0,
    "relativeCreated": 751.663707,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x3 match scores in context='film_category' in 241 \u03bcs:\ncandidates  last_update  category_id  film_id\nvalues                                       \nid                 0.00         0.16     0.21",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'film_id'; score=0.209 < 0.9 (below threshold).\n    'id' -> 'category_id'; score=0.156 < 0.9 (below threshold).\n    'id' -> 'last_update'; score=0.003 < 0.9 (below threshold).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.149194,
    "msecs": 511.0,
    "relativeCreated": 751.720889,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'film_id'; score=0.209 < 0.9 (below threshold).\n    'id' -> 'category_id'; score=0.156 < 0.9 (below threshold).\n    'id' -> 'last_update'; score=0.003 < 0.9 (below threshold).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map {'id'} in context='film_category' to any of candidates={'film_id', 'category_id', 'last_update'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 192,
    "funcName": "_report_unmapped",
    "created": 1557606600.149222,
    "msecs": 511.0,
    "relativeCreated": 751.750464,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map {'id'} in context='film_category' to any of candidates={'film_id', 'category_id', 'last_update'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x{'film_id', 'category_id', 'last_update'} in 822 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.149245,
    "msecs": 511.0,
    "relativeCreated": 751.77458,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x{'film_id', 'category_id', 'last_update'} in 822 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='film_category': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.149279,
    "msecs": 511.0,
    "relativeCreated": 751.79671,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.000865899000018544,
    "mapping": {
      "id": null
    },
    "context": "film_category",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='film_category': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'} for source='staff'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.149308,
    "msecs": 511.0,
    "relativeCreated": 751.836885,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "first_name",
      "address_id",
      "username",
      "picture",
      "email",
      "password",
      "store_id",
      "active",
      "last_name",
      "last_update"
    ],
    "context": "staff",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'} for source='staff'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='staff' for ['id']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.149343,
    "msecs": 511.0,
    "relativeCreated": 751.871717,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='staff' for ['id']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.149363,
    "msecs": 511.0,
    "relativeCreated": 751.89241,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.149387,
    "msecs": 511.0,
    "relativeCreated": 751.916472,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.149404,
    "msecs": 511.0,
    "relativeCreated": 751.934367,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.149474,
    "msecs": 511.0,
    "relativeCreated": 752.002358,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.375, -0.001, 0.165, 0.068, -0.004, 0.045, 0.244, 0.368, 0.048, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.149516,
    "msecs": 511.0,
    "relativeCreated": 752.045376,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.375, -0.001, 0.165, 0.068, -0.004, 0.045, 0.244, 0.368, 0.048, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, 0.123, -0.003, -0.004, 0.045, 0.119, 0.618, 0.048, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.14955,
    "msecs": 511.0,
    "relativeCreated": 752.080327,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, 0.123, -0.003, -0.004, 0.045, 0.119, 0.618, 0.048, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.149581,
    "msecs": 511.0,
    "relativeCreated": 752.110688,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['staff_id': 0.14 -> 0.99 (+0.85), 'first_name': -0.00 -> -0.00 (+0.00), 'address_id': 0.11 -> 0.16 (+0.05), 'picture': -0.00 -> 0.06 (+0.07), 'username': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'password': 0.07 -> 0.24 (+0.17), 'store_id': 0.14 -> 0.61 (+0.47), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> -0.01 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.149605,
    "msecs": 511.0,
    "relativeCreated": 752.135427,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['staff_id': 0.14 -> 0.99 (+0.85), 'first_name': -0.00 -> -0.00 (+0.00), 'address_id': 0.11 -> 0.16 (+0.05), 'picture': -0.00 -> 0.06 (+0.07), 'username': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'password': 0.07 -> 0.24 (+0.17), 'store_id': 0.14 -> 0.61 (+0.47), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> -0.01 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x11 match scores in context='staff' in 303 \u03bcs:\ncandidates  staff_id  first_name  address_id  username  picture  email  password  store_id  active  last_name  last_update\nvalues                                                                                                                    \nid              0.99       -0.00        0.16     -0.00     0.06   0.12      0.24      0.61    0.04      -0.01        -0.01",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.150819,
    "msecs": 512.0,
    "relativeCreated": 753.334735,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x11 match scores in context='staff' in 303 \u03bcs:\ncandidates  staff_id  first_name  address_id  username  picture  email  password  store_id  active  last_name  last_update\nvalues                                                                                                                    \nid              0.99       -0.00        0.16     -0.00     0.06   0.12      0.24      0.61    0.04      -0.01        -0.01",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'staff_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.150887,
    "msecs": 512.0,
    "relativeCreated": 753.413849,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'staff_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] in 2 ms. Matches:\n    'id' -> ('staff_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.15093,
    "msecs": 512.0,
    "relativeCreated": 753.458076,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] in 2 ms. Matches:\n    'id' -> ('staff_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='staff': {'id': 'staff_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.150956,
    "msecs": 512.0,
    "relativeCreated": 753.483203,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0016493039997840242,
    "mapping": {
      "id": "staff_id"
    },
    "context": "staff",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='staff': {'id': 'staff_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_name', 'first_name', 'actor_id', 'last_update'} for source='actor'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.150995,
    "msecs": 512.0,
    "relativeCreated": 753.523378,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "last_name",
      "first_name",
      "actor_id",
      "last_update"
    ],
    "context": "actor",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'last_name', 'first_name', 'actor_id', 'last_update'} for source='actor'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='actor' for ['id']x['last_name', 'first_name', 'actor_id', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.151031,
    "msecs": 512.0,
    "relativeCreated": 753.560563,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='actor' for ['id']x['last_name', 'first_name', 'actor_id', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.151053,
    "msecs": 512.0,
    "relativeCreated": 753.582349,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.151078,
    "msecs": 512.0,
    "relativeCreated": 753.606894,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.151092,
    "msecs": 512.0,
    "relativeCreated": 753.622204,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.141, -0.003].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.151144,
    "msecs": 512.0,
    "relativeCreated": 753.672667,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.141, -0.003].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.373, -0.003].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.151178,
    "msecs": 512.0,
    "relativeCreated": 753.708005,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.373, -0.003].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> ('actor_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.125, 0.041, 0.998, -0.003].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.151207,
    "msecs": 513.0,
    "relativeCreated": 753.736805,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> ('actor_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.125, 0.041, 0.998, -0.003].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, 0.141, -0.003].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.151231,
    "msecs": 513.0,
    "relativeCreated": 753.761703,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='actor':\n    ('id', ['last_name', 'first_name', 'actor_id', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, 0.141, -0.003].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['last_name': 0.00 -> 0.12 (+0.12), 'first_name': -0.00 -> 0.03 (+0.03), 'actor_id': 0.14 -> 0.99 (+0.85), 'last_update': -0.00 -> -0.00 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.151251,
    "msecs": 513.0,
    "relativeCreated": 753.781443,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['last_name': 0.00 -> 0.12 (+0.12), 'first_name': -0.00 -> 0.03 (+0.03), 'actor_id': 0.14 -> 0.99 (+0.85), 'last_update': -0.00 -> -0.00 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x4 match scores in context='actor' in 259 \u03bcs:\ncandidates  last_name  first_name  actor_id  last_update\nvalues                                                  \nid               0.12        0.03      0.99        -0.00",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.152097,
    "msecs": 513.0,
    "relativeCreated": 754.615395,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x4 match scores in context='actor' in 259 \u03bcs:\ncandidates  last_name  first_name  actor_id  last_update\nvalues                                                  \nid               0.12        0.03      0.99        -0.00",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'actor_id'; score=0.988 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.152152,
    "msecs": 513.0,
    "relativeCreated": 754.678748,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'actor_id'; score=0.988 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['last_name', 'first_name', 'actor_id', 'last_update'] in 1 ms. Matches:\n    'id' -> ('actor_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.152191,
    "msecs": 514.0,
    "relativeCreated": 754.71954,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['last_name', 'first_name', 'actor_id', 'last_update'] in 1 ms. Matches:\n    'id' -> ('actor_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='actor': {'id': 'actor_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.152216,
    "msecs": 514.0,
    "relativeCreated": 754.743286,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0012220869998600392,
    "mapping": {
      "id": "actor_id"
    },
    "context": "actor",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='actor': {'id': 'actor_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'country_id', 'last_update', 'city', 'city_id'} for source='city'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.152258,
    "msecs": 514.0,
    "relativeCreated": 754.786564,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "country_id",
      "last_update",
      "city",
      "city_id"
    ],
    "context": "city",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'country_id', 'last_update', 'city', 'city_id'} for source='city'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='city' for ['id']x['country_id', 'last_update', 'city', 'city_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.152318,
    "msecs": 514.0,
    "relativeCreated": 754.845607,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='city' for ['id']x['country_id', 'last_update', 'city', 'city_id'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.152341,
    "msecs": 514.0,
    "relativeCreated": 754.870205,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.152365,
    "msecs": 514.0,
    "relativeCreated": 754.894274,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.15238,
    "msecs": 514.0,
    "relativeCreated": 754.909853,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.165, 0.108].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.152439,
    "msecs": 514.0,
    "relativeCreated": 754.968086,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function force_lower_case() in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.165, 0.108].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.212, 0.122].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.152472,
    "msecs": 514.0,
    "relativeCreated": 755.000974,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.212, 0.122].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> ('city_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, 0.998, 0.14].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.1525,
    "msecs": 514.0,
    "relativeCreated": 755.029808,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> ('city_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, 0.998, 0.14].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, 0.165, 0.108].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.152527,
    "msecs": 514.0,
    "relativeCreated": 755.057046,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='city':\n    ('id', ['last_update', 'city', 'city_id', 'country_id']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, 0.165, 0.108].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'city': -0.00 -> -0.00 (+0.00), 'city_id': 0.16 -> 0.99 (+0.82), 'country_id': 0.11 -> 0.13 (+0.02)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.152547,
    "msecs": 514.0,
    "relativeCreated": 755.076425,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'city': -0.00 -> -0.00 (+0.00), 'city_id': 0.16 -> 0.99 (+0.82), 'country_id': 0.11 -> 0.13 (+0.02)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x4 match scores in context='city' in 272 \u03bcs:\ncandidates  country_id  last_update  city  city_id\nvalues                                            \nid                0.13         0.00 -0.00     0.99",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.153089,
    "msecs": 514.0,
    "relativeCreated": 755.610233,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x4 match scores in context='city' in 272 \u03bcs:\ncandidates  country_id  last_update  city  city_id\nvalues                                            \nid                0.13         0.00 -0.00     0.99",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'city_id'; score=0.988 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.153139,
    "msecs": 514.0,
    "relativeCreated": 755.666295,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'city_id'; score=0.988 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['country_id', 'last_update', 'city', 'city_id'] in 878 \u03bcs. Matches:\n    'id' -> ('city_id',)\nMatched 1/1 values with 1 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.153178,
    "msecs": 514.0,
    "relativeCreated": 755.706072,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['country_id', 'last_update', 'city', 'city_id'] in 878 \u03bcs. Matches:\n    'id' -> ('city_id',)\nMatched 1/1 values with 1 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='city': {'id': 'city_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.153203,
    "msecs": 515.0,
    "relativeCreated": 755.73047,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0009459420002713159,
    "mapping": {
      "id": "city_id"
    },
    "context": "city",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='city': {'id': 'city_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_03'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.153238,
    "msecs": 515.0,
    "relativeCreated": 755.766638,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_03",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_03'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_03' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.153289,
    "msecs": 515.0,
    "relativeCreated": 755.817566,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_03' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.153311,
    "msecs": 515.0,
    "relativeCreated": 755.83998,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_03'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.153339,
    "msecs": 515.0,
    "relativeCreated": 755.868862,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_03'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.153389,
    "msecs": 515.0,
    "relativeCreated": 755.886808,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_03' in 149 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.15403,
    "msecs": 515.0,
    "relativeCreated": 756.552079,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_03' in 149 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.154084,
    "msecs": 515.0,
    "relativeCreated": 756.611156,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 854 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.154118,
    "msecs": 515.0,
    "relativeCreated": 756.64688,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 854 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_03': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.154143,
    "msecs": 515.0,
    "relativeCreated": 756.671029,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0009081930002139416,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_03",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_03': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_05'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.154171,
    "msecs": 515.0,
    "relativeCreated": 756.699537,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "id"
    ],
    "candidates": [
      "staff_id",
      "customer_id",
      "amount",
      "payment_id",
      "rental_id",
      "payment_date"
    ],
    "context": "payment_p2007_05",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'id'} to actual placeholders={'staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'} for source='payment_p2007_05'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='payment_p2007_05' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.154206,
    "msecs": 516.0,
    "relativeCreated": 756.734196,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='payment_p2007_05' for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.154227,
    "msecs": 516.0,
    "relativeCreated": 756.755971,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['id'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Discard source='payment_p2007_05'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.154255,
    "msecs": 516.0,
    "relativeCreated": 756.784983,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "message": "Discard source='payment_p2007_05'; matches pattern=re.compile('.*p2007.*', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.154286,
    "msecs": 516.0,
    "relativeCreated": 756.813699,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "All candidates removed by filtering. Applied 1 filters for value='id', removing candidates={'staff_id', 'customer_id', 'rental_id', 'amount', 'payment_id', 'payment_date'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 1x6 match scores in context='payment_p2007_05' in 116 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.154891,
    "msecs": 516.0,
    "relativeCreated": 757.414802,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 1x6 match scores in context='payment_p2007_05' in 116 \u03bcs:\ncandidates  staff_id  customer_id  amount  payment_id  rental_id  payment_date\nvalues                                                                        \nid              -inf         -inf    -inf        -inf       -inf          -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.154941,
    "msecs": 516.0,
    "relativeCreated": 757.46823,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='id'. Rejected matches:\n    'id' -> 'staff_id'; score=-inf (filtered).\n    'id' -> 'customer_id'; score=-inf (filtered).\n    'id' -> 'amount'; score=-inf (filtered).\n    'id' -> 'payment_id'; score=-inf (filtered).\n    'id' -> 'rental_id'; score=-inf (filtered).\n    'id' -> 'payment_date'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 783 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.155008,
    "msecs": 516.0,
    "relativeCreated": 757.534766,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['id']x['staff_id', 'customer_id', 'amount', 'payment_id', 'rental_id', 'payment_date'] in 783 \u03bcs. Matches:\n    'id' -> <no matches>\nMatched 0/1 values with 0 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='payment_p2007_05': {'id': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.155034,
    "msecs": 516.0,
    "relativeCreated": 757.561557,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0008639999996375991,
    "mapping": {
      "id": null
    },
    "context": "payment_p2007_05",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='payment_p2007_05': {'id': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Discarded 9 tables. Reason: {'no ID column': ['uuid_test_table', 'payment_p2007_06', 'payment_p2007_04', 'film_actor', 'payment_p2007_01', 'payment_p2007_02', 'film_category', 'payment_p2007_03', 'payment_p2007_05']}",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_sql_fetcher.py",
    "filename": "_sql_fetcher.py",
    "module": "_sql_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 455,
    "funcName": "_get_summaries",
    "created": 1557606600.15506,
    "msecs": 516.0,
    "relativeCreated": 757.588924,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "reason": {
      "no ID column": [
        "uuid_test_table",
        "payment_p2007_06",
        "payment_p2007_04",
        "film_actor",
        "payment_p2007_01",
        "payment_p2007_02",
        "film_category",
        "payment_p2007_03",
        "payment_p2007_05"
      ]
    },
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Discarded 9 tables. Reason: {'no ID column': ['uuid_test_table', 'payment_p2007_06', 'payment_p2007_04', 'film_actor', 'payment_p2007_01', 'payment_p2007_02', 'film_category', 'payment_p2007_03', 'payment_p2007_05']}",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished initialization of 'SqlFetcher' in 115 ms: SqlFetcher('postgresql+pg8000://postgres:***@localhost:5002/sakila', sources=['address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'])",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 108,
    "funcName": "initialize_sources",
    "created": 1557606600.155167,
    "msecs": 516.0,
    "relativeCreated": 757.693667,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "event_key": "SqlFetcher.initialize_sources:exit",
    "seconds": 0.1153983550002522,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished initialization of 'SqlFetcher' in 115 ms: SqlFetcher('postgresql+pg8000://postgres:***@localhost:5002/sakila', sources=['address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'])",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Finished initialization 2 children and 9 sources in 116 ms.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 162,
    "funcName": "initialize_sources",
    "created": 1557606600.155199,
    "msecs": 517.0,
    "relativeCreated": 757.72843,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 20775,
    "seconds": 0.11584119899998768,
    "event_key": "MultiFetcher.initialize_sources:exit",
    "message": "Finished initialization 2 children and 9 sources in 116 ms.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.dio",
    "msg": "Using rank-0 (priority=1999) implementation 'id_translation.dio.integration.pandas.PandasIO' for translatable of type='pandas.DataFrame'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/dio/_resolve.py",
    "filename": "_resolve.py",
    "module": "_resolve",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 68,
    "funcName": "_initialize",
    "created": 1557606600.33001,
    "msecs": 691.0,
    "relativeCreated": 932.515431,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Using rank-0 (priority=1999) implementation 'id_translation.dio.integration.pandas.PandasIO' for translatable of type='pandas.DataFrame'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator",
    "msg": "Begin translation of 'DataFrame'-type data. Names to translate: Derive based on type.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/_tasks/_translate.py",
    "filename": "_translate.py",
    "module": "_translate",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 154,
    "funcName": "log_key_event_enter",
    "created": 1557606600.330112,
    "msecs": 691.0,
    "relativeCreated": 932.63773,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "Translator.translate:enter",
    "sources": [
      "category",
      "address",
      "film",
      "language",
      "customer",
      "country",
      "staff",
      "actor",
      "city"
    ],
    "online": true,
    "translatable_type": "pandas.DataFrame",
    "names": null,
    "ignore_names": null,
    "copy": true,
    "reverse": false,
    "message": "Begin translation of 'DataFrame'-type data. Names to translate: Derive based on type.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator",
    "msg": "Name extraction complete. Found names=['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date'] for 'DataFrame'-type data.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/_tasks/_names.py",
    "filename": "_names.py",
    "module": "_names",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 97,
    "funcName": "_filter_names",
    "created": 1557606600.330147,
    "msecs": 691.0,
    "relativeCreated": 932.675694,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Name extraction complete. Found names=['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date'] for 'DataFrame'-type data.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Begin name-to-source mapping of names=['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date'] in 'DataFrame' against sources=['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/_tasks/_map.py",
    "filename": "_map.py",
    "module": "_map",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 75,
    "funcName": "_map",
    "created": 1557606600.330174,
    "msecs": 691.0,
    "relativeCreated": 932.702855,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "Translator.map:enter",
    "translatable_type": "pandas.DataFrame",
    "values": [
      "customer_id",
      "film_id",
      "category_id",
      "staff_id",
      "rental_date",
      "return_date"
    ],
    "candidates": [
      "category",
      "address",
      "film",
      "language",
      "customer",
      "country",
      "staff",
      "actor",
      "city"
    ],
    "message": "Begin name-to-source mapping of names=['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date'] in 'DataFrame' against sources=['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Begin computing match scores for ['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date']x['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'] using HeuristicScore([like_database_table()] -> modified_hamming).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.330234,
    "msecs": 692.0,
    "relativeCreated": 932.76126,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Begin computing match scores for ['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date']x['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'] using HeuristicScore([like_database_table()] -> modified_hamming).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Applied 1 filters for value='customer_id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330329,
    "msecs": 692.0,
    "relativeCreated": 932.856627,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Applied 1 filters for value='customer_id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Compute match scores for value='customer_id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.330346,
    "msecs": 692.0,
    "relativeCreated": 932.87609,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Compute match scores for value='customer_id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function like_database_table() in context=None:\n    ('customer_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('customer', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.056, -0.001, 0.123, 0.997, -0.004, -0.005, -0.006, 0.043, -0.008].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.330436,
    "msecs": 692.0,
    "relativeCreated": 932.963069,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function like_database_table() in context=None:\n    ('customer_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('customer', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.056, -0.001, 0.123, 0.997, -0.004, -0.005, -0.006, 0.043, -0.008].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='customer_id': ['address': 0.03 -> 0.06 (+0.03), 'film': -0.00 -> -0.00 (+0.00), 'category': 0.03 -> 0.12 (+0.09), 'customer': -0.00 -> 1.00 (+1.00), 'language': -0.00 -> -0.00 (+0.00), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> 0.04 (+0.05), 'city': -0.01 -> -0.01 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.330464,
    "msecs": 692.0,
    "relativeCreated": 932.993717,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='customer_id': ['address': 0.03 -> 0.06 (+0.03), 'film': -0.00 -> -0.00 (+0.00), 'category': 0.03 -> 0.12 (+0.09), 'customer': -0.00 -> 1.00 (+1.00), 'language': -0.00 -> -0.00 (+0.00), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> 0.04 (+0.05), 'city': -0.01 -> -0.01 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Applied 1 filters for value='film_id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330492,
    "msecs": 692.0,
    "relativeCreated": 933.022134,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Applied 1 filters for value='film_id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Compute match scores for value='film_id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.330512,
    "msecs": 692.0,
    "relativeCreated": 933.042466,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Compute match scores for value='film_id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function like_database_table() in context=None:\n    ('film_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('film', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.999, -0.002, -0.003, -0.004, -0.005, -0.006, -0.007, 0.242].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.330567,
    "msecs": 692.0,
    "relativeCreated": 933.095641,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function like_database_table() in context=None:\n    ('film_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('film', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.999, -0.002, -0.003, -0.004, -0.005, -0.006, -0.007, 0.242].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='film_id': ['address': 0.00 -> 0.00 (+0.00), 'film': -0.00 -> 1.00 (+1.00), 'category': -0.00 -> -0.00 (+0.00), 'customer': -0.00 -> -0.00 (+0.00), 'language': -0.00 -> -0.00 (+0.00), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> 0.24 (+0.25)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.33059,
    "msecs": 692.0,
    "relativeCreated": 933.119914,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='film_id': ['address': 0.00 -> 0.00 (+0.00), 'film': -0.00 -> 1.00 (+1.00), 'category': -0.00 -> -0.00 (+0.00), 'customer': -0.00 -> -0.00 (+0.00), 'language': -0.00 -> -0.00 (+0.00), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> 0.24 (+0.25)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Applied 1 filters for value='category_id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330613,
    "msecs": 692.0,
    "relativeCreated": 933.143317,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Applied 1 filters for value='category_id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Compute match scores for value='category_id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.330628,
    "msecs": 692.0,
    "relativeCreated": 933.15839,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Compute match scores for value='category_id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function like_database_table() in context=None:\n    ('category_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('category', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.998, 0.122, 0.121, 0.138, -0.006, -0.007, 0.042].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.330683,
    "msecs": 692.0,
    "relativeCreated": 933.212094,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function like_database_table() in context=None:\n    ('category_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('category', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.998, 0.122, 0.121, 0.138, -0.006, -0.007, 0.042].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='category_id': ['address': 0.00 -> 0.00 (+0.00), 'film': -0.00 -> -0.00 (+0.00), 'category': -0.00 -> 1.00 (+1.00), 'customer': -0.00 -> 0.12 (+0.12), 'language': -0.00 -> 0.12 (+0.12), 'country': 0.02 -> 0.14 (+0.11), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> 0.04 (+0.05)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.330705,
    "msecs": 692.0,
    "relativeCreated": 933.235623,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='category_id': ['address': 0.00 -> 0.00 (+0.00), 'film': -0.00 -> -0.00 (+0.00), 'category': -0.00 -> 1.00 (+1.00), 'customer': -0.00 -> 0.12 (+0.12), 'language': -0.00 -> 0.12 (+0.12), 'country': 0.02 -> 0.14 (+0.11), 'staff': -0.01 -> -0.01 (+0.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> 0.04 (+0.05)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Applied 1 filters for value='staff_id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330728,
    "msecs": 692.0,
    "relativeCreated": 933.258316,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Applied 1 filters for value='staff_id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Compute match scores for value='staff_id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.330743,
    "msecs": 692.0,
    "relativeCreated": 933.273059,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Compute match scores for value='staff_id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function like_database_table() in context=None:\n    ('staff_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('staff', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.046, -0.005, 0.994, -0.007, -0.008].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.330789,
    "msecs": 692.0,
    "relativeCreated": 933.318493,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function like_database_table() in context=None:\n    ('staff_id', ['address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']) -> ('staff', ['addres', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city']).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.046, -0.005, 0.994, -0.007, -0.008].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='staff_id': ['address': 0.00 -> 0.00 (+0.00), 'film': 0.05 -> 0.05 (+0.00), 'category': -0.00 -> -0.00 (+0.00), 'customer': -0.00 -> -0.00 (+0.00), 'language': -0.00 -> 0.05 (+0.05), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> 0.99 (+1.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> -0.01 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.330812,
    "msecs": 692.0,
    "relativeCreated": 933.340366,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='staff_id': ['address': 0.00 -> 0.00 (+0.00), 'film': 0.05 -> 0.05 (+0.00), 'category': -0.00 -> -0.00 (+0.00), 'customer': -0.00 -> -0.00 (+0.00), 'language': -0.00 -> 0.05 (+0.05), 'country': -0.01 -> -0.01 (+0.00), 'staff': -0.01 -> 0.99 (+1.00), 'actor': -0.01 -> -0.01 (+0.00), 'city': -0.01 -> -0.01 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Do not translate name='rental_date'; does not match pattern=re.compile('.*_id$', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.330838,
    "msecs": 692.0,
    "relativeCreated": 933.367654,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Do not translate name='rental_date'; does not match pattern=re.compile('.*_id$', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='rental_date', removing candidates={'address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330856,
    "msecs": 692.0,
    "relativeCreated": 933.386231,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "All candidates removed by filtering. Applied 1 filters for value='rental_date', removing candidates={'address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.filter_functions.filter_names",
    "msg": "Do not translate name='return_date'; does not match pattern=re.compile('.*_id$', re.IGNORECASE).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/filter_functions.py",
    "filename": "filter_functions.py",
    "module": "filter_functions",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 211,
    "funcName": "_filter_single",
    "created": 1557606600.330874,
    "msecs": 692.0,
    "relativeCreated": 933.404125,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Do not translate name='return_date'; does not match pattern=re.compile('.*_id$', re.IGNORECASE).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "All candidates removed by filtering. Applied 1 filters for value='return_date', removing candidates={'address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.330888,
    "msecs": 692.0,
    "relativeCreated": 933.419123,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "All candidates removed by filtering. Applied 1 filters for value='return_date', removing candidates={'address', 'film', 'category', 'customer', 'language', 'country', 'staff', 'actor', 'city'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Computed 6x9 match scores in context=None in 712 \u03bcs:\ncandidates   category  address  film  language  customer  country  staff  actor  city\nvalues                                                                               \ncustomer_id      0.12     0.06 -0.00     -0.00      1.00    -0.01  -0.01   0.04 -0.01\nfilm_id         -0.00     0.00  1.00     -0.00     -0.00    -0.01  -0.01  -0.01  0.24\ncategory_id      1.00     0.00 -0.00      0.12      0.12     0.14  -0.01  -0.01  0.04\nstaff_id        -0.00     0.00  0.05      0.05     -0.00    -0.01   0.99  -0.01 -0.01\nrental_date      -inf     -inf  -inf      -inf      -inf     -inf   -inf   -inf  -inf\nreturn_date      -inf     -inf  -inf      -inf      -inf     -inf   -inf   -inf  -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.331943,
    "msecs": 693.0,
    "relativeCreated": 934.455431,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Computed 6x9 match scores in context=None in 712 \u03bcs:\ncandidates   category  address  film  language  customer  country  staff  actor  city\nvalues                                                                               \ncustomer_id      0.12     0.06 -0.00     -0.00      1.00    -0.01  -0.01   0.04 -0.01\nfilm_id         -0.00     0.00  1.00     -0.00     -0.00    -0.01  -0.01  -0.01  0.24\ncategory_id      1.00     0.00 -0.00      0.12      0.12     0.14  -0.01  -0.01  0.04\nstaff_id        -0.00     0.00  0.05      0.05     -0.00    -0.01   0.99  -0.01 -0.01\nrental_date      -inf     -inf  -inf      -inf      -inf     -inf   -inf   -inf  -inf\nreturn_date      -inf     -inf  -inf      -inf      -inf     -inf   -inf   -inf  -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Accepted: 'film_id' -> 'film'; score=0.999 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.332058,
    "msecs": 693.0,
    "relativeCreated": 934.584894,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Accepted: 'film_id' -> 'film'; score=0.999 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Accepted: 'category_id' -> 'category'; score=0.998 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.332083,
    "msecs": 693.0,
    "relativeCreated": 934.61289,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Accepted: 'category_id' -> 'category'; score=0.998 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Accepted: 'customer_id' -> 'customer'; score=0.997 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.332107,
    "msecs": 693.0,
    "relativeCreated": 934.635899,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Accepted: 'customer_id' -> 'customer'; score=0.997 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Accepted: 'staff_id' -> 'staff'; score=0.994 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.332128,
    "msecs": 693.0,
    "relativeCreated": 934.657911,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Accepted: 'staff_id' -> 'staff'; score=0.994 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Could not map value='rental_date'. Rejected matches:\n    'rental_date' -> 'category'; score=-inf (filtered).\n    'rental_date' -> 'address'; score=-inf (filtered).\n    'rental_date' -> 'film'; score=-inf (filtered).\n    'rental_date' -> 'language'; score=-inf (filtered).\n    'rental_date' -> 'customer'; score=-inf (filtered).\n    'rental_date' -> 'country'; score=-inf (filtered).\n    'rental_date' -> 'staff'; score=-inf (filtered).\n    'rental_date' -> 'actor'; score=-inf (filtered).\n    'rental_date' -> 'city'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.33215,
    "msecs": 693.0,
    "relativeCreated": 934.680303,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Could not map value='rental_date'. Rejected matches:\n    'rental_date' -> 'category'; score=-inf (filtered).\n    'rental_date' -> 'address'; score=-inf (filtered).\n    'rental_date' -> 'film'; score=-inf (filtered).\n    'rental_date' -> 'language'; score=-inf (filtered).\n    'rental_date' -> 'customer'; score=-inf (filtered).\n    'rental_date' -> 'country'; score=-inf (filtered).\n    'rental_date' -> 'staff'; score=-inf (filtered).\n    'rental_date' -> 'actor'; score=-inf (filtered).\n    'rental_date' -> 'city'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Could not map value='return_date'. Rejected matches:\n    'return_date' -> 'category'; score=-inf (filtered).\n    'return_date' -> 'address'; score=-inf (filtered).\n    'return_date' -> 'film'; score=-inf (filtered).\n    'return_date' -> 'language'; score=-inf (filtered).\n    'return_date' -> 'customer'; score=-inf (filtered).\n    'return_date' -> 'country'; score=-inf (filtered).\n    'return_date' -> 'staff'; score=-inf (filtered).\n    'return_date' -> 'actor'; score=-inf (filtered).\n    'return_date' -> 'city'; score=-inf (filtered).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.332168,
    "msecs": 693.0,
    "relativeCreated": 934.698732,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Could not map value='return_date'. Rejected matches:\n    'return_date' -> 'category'; score=-inf (filtered).\n    'return_date' -> 'address'; score=-inf (filtered).\n    'return_date' -> 'film'; score=-inf (filtered).\n    'return_date' -> 'language'; score=-inf (filtered).\n    'return_date' -> 'customer'; score=-inf (filtered).\n    'return_date' -> 'country'; score=-inf (filtered).\n    'return_date' -> 'staff'; score=-inf (filtered).\n    'return_date' -> 'actor'; score=-inf (filtered).\n    'return_date' -> 'city'; score=-inf (filtered).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date']x['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'] in 2 ms. Matches:\n    'customer_id' -> ('customer',)\n    'film_id' -> ('film',)\n    'category_id' -> ('category',)\n    'staff_id' -> ('staff',)\n    'rental_date' -> <no matches>\n    'return_date' -> <no matches>\nMatched 4/6 values with 4 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.33223,
    "msecs": 694.0,
    "relativeCreated": 934.758293,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Mapping with cardinality='ManyToOne' completed for ['customer_id', 'film_id', 'category_id', 'staff_id', 'rental_date', 'return_date']x['category', 'address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city'] in 2 ms. Matches:\n    'customer_id' -> ('customer',)\n    'film_id' -> ('film',)\n    'category_id' -> ('category',)\n    'staff_id' -> ('staff',)\n    'rental_date' -> <no matches>\n    'return_date' -> <no matches>\nMatched 4/6 values with 4 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator.map",
    "msg": "Finished mapping of 4/6 names in 'DataFrame' in 2 ms: {'customer_id': 'customer', 'film_id': 'film', 'category_id': 'category', 'staff_id': 'staff', 'rental_date': None, 'return_date': None}.",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/_tasks/_map.py",
    "filename": "_map.py",
    "module": "_map",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 94,
    "funcName": "_map",
    "created": 1557606600.332276,
    "msecs": 694.0,
    "relativeCreated": 934.796432,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "Translator.map:exit",
    "seconds": 0.0021199079997131776,
    "translatable_type": "pandas.DataFrame",
    "values": [
      "customer_id",
      "film_id",
      "category_id",
      "staff_id",
      "rental_date",
      "return_date"
    ],
    "candidates": [
      "category",
      "address",
      "film",
      "language",
      "customer",
      "country",
      "staff",
      "actor",
      "city"
    ],
    "mapping": {
      "customer_id": "customer",
      "film_id": "film",
      "category_id": "category",
      "staff_id": "staff",
      "rental_date": null,
      "return_date": null
    },
    "message": "Finished mapping of 4/6 names in 'DataFrame' in 2 ms: {'customer_id': 'customer', 'film_id': 'film', 'category_id': 'category', 'staff_id': 'staff', 'rental_date': None, 'return_date': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Dispatch FETCH jobs for 4 sources using 2 different fetchers on 2 threads.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 275,
    "funcName": "fetch",
    "created": 1557606600.33247,
    "msecs": 694.0,
    "relativeCreated": 934.994362,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MultiFetcher.fetch:enter",
    "sources": [
      "customer",
      "film",
      "category",
      "staff"
    ],
    "placeholders": [
      "id",
      "name",
      "last_name"
    ],
    "required_placeholders": [
      "id",
      "name"
    ],
    "max_workers": 2,
    "num_fetchers": 2,
    "fetch_all": false,
    "message": "Dispatch FETCH jobs for 4 sources using 2 different fetchers on 2 threads.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Begin FETCH job for 3 sources using rank-1 fetcher SqlFetcher('postgresql+pg8000://postgres:***@localhost:5002/sakila', sources=['address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city']) at 0x74b306dcda90.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 292,
    "funcName": "fetch",
    "created": 1557606600.332754,
    "msecs": 694.0,
    "relativeCreated": 935.272884,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Begin FETCH job for 3 sources using rank-1 fetcher SqlFetcher('postgresql+pg8000://postgres:***@localhost:5002/sakila', sources=['address', 'film', 'language', 'customer', 'country', 'staff', 'actor', 'city']) at 0x74b306dcda90.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching placeholders=('id', 'name', 'last_name') for 3 sources: {'customer': 10, 'film': 10, 'staff': 2}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 304,
    "funcName": "fetch",
    "created": 1557606600.332817,
    "msecs": 694.0,
    "relativeCreated": 935.340173,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.fetch:enter",
    "placeholders": [
      "id",
      "name",
      "last_name"
    ],
    "required_placeholders": [
      "id",
      "name"
    ],
    "num_ids": {
      "customer": 10,
      "film": 10,
      "staff": 2
    },
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching placeholders=('id', 'name', 'last_name') for 3 sources: {'customer': 10, 'film': 10, 'staff': 2}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'} for source='customer'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.332869,
    "msecs": 694.0,
    "relativeCreated": 935.395087,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "last_name",
      "id",
      "name"
    ],
    "candidates": [
      "customer_id",
      "first_name",
      "address_id",
      "activebool",
      "email",
      "store_id",
      "active",
      "last_name",
      "create_date",
      "last_update"
    ],
    "context": "customer",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'} for source='customer'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='customer' for ['last_name', 'id', 'name']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.33292,
    "msecs": 694.0,
    "relativeCreated": 935.446952,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='customer' for ['last_name', 'id', 'name']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['last_name', 'id', 'name'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.332958,
    "msecs": 694.0,
    "relativeCreated": 935.48551,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['last_name', 'id', 'name'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.332992,
    "msecs": 694.0,
    "relativeCreated": 935.520291,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.333034,
    "msecs": 694.0,
    "relativeCreated": 935.562285,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.333061,
    "msecs": 694.0,
    "relativeCreated": 935.589273,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333127,
    "msecs": 694.0,
    "relativeCreated": 935.655017,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.094, 0.166, -0.002, 0.039, 0.046, 0.37, 0.05, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333181,
    "msecs": 694.0,
    "relativeCreated": 935.709447,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.094, 0.166, -0.002, 0.039, 0.046, 0.37, 0.05, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, 0.149, -0.002, 0.097, 0.053, 0.089, -0.006, -0.007, 0.083, 0.173].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333233,
    "msecs": 695.0,
    "relativeCreated": 935.762159,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, 0.149, -0.002, 0.097, 0.053, 0.089, -0.006, -0.007, 0.083, 0.173].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333298,
    "msecs": 695.0,
    "relativeCreated": 935.826205,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('id', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.1, 0.11, -0.002, -0.003, 0.121, 0.138, -0.006, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['customer_id': 0.10 -> 0.99 (+0.89), 'address_id': 0.11 -> 0.16 (+0.05), 'first_name': -0.00 -> -0.00 (+0.00), 'activebool': -0.00 -> 0.09 (+0.09), 'email': 0.12 -> 0.12 (+0.00), 'store_id': 0.14 -> 0.36 (+0.23), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'create_date': -0.01 -> 0.07 (+0.08), 'last_update': -0.01 -> 0.16 (+0.17)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.333333,
    "msecs": 695.0,
    "relativeCreated": 935.861645,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='id': ['customer_id': 0.10 -> 0.99 (+0.89), 'address_id': 0.11 -> 0.16 (+0.05), 'first_name': -0.00 -> -0.00 (+0.00), 'activebool': -0.00 -> 0.09 (+0.09), 'email': 0.12 -> 0.12 (+0.00), 'store_id': 0.14 -> 0.36 (+0.23), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'create_date': -0.01 -> 0.07 (+0.08), 'last_update': -0.01 -> 0.16 (+0.17)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='name', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.333369,
    "msecs": 695.0,
    "relativeCreated": 935.89696,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='name', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='name'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.333396,
    "msecs": 695.0,
    "relativeCreated": 935.924109,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='name'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.141, -0.003, 0.121, -0.005, 0.077, 0.16, 0.054, 0.053].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.33345,
    "msecs": 695.0,
    "relativeCreated": 935.979218,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, 0.141, -0.003, 0.121, -0.005, 0.077, 0.16, 0.054, 0.053].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.998, -0.003, 0.029, -0.005, 0.027, 0.382, 0.142, 0.091].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333501,
    "msecs": 695.0,
    "relativeCreated": 936.029312,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('first_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.998, -0.003, 0.029, -0.005, 0.027, 0.382, 0.142, 0.091].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, 0.123, -0.003, 0.018, -0.005, 0.015, 0.104, 0.083, 0.052].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333549,
    "msecs": 695.0,
    "relativeCreated": 936.07783,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, 0.123, -0.003, 0.018, -0.005, 0.015, 0.104, 0.083, 0.052].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer', *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, -0.004, -0.005, -0.006, -0.007, -0.008, -0.009].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.333598,
    "msecs": 695.0,
    "relativeCreated": 936.127128,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='customer':\n    ('name', ['customer_id', 'address_id', 'first_name', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update']) -> ('customer', *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, -0.004, -0.005, -0.006, -0.007, -0.008, -0.009].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='name': ['customer_id': 0.00 -> 0.00 (+0.00), 'address_id': -0.00 -> -0.00 (+0.00), 'first_name': 0.14 -> 0.99 (+0.85), 'activebool': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'store_id': -0.01 -> -0.01 (+0.00), 'active': 0.08 -> 0.08 (+0.00), 'last_name': 0.16 -> 0.38 (+0.22), 'create_date': 0.05 -> 0.14 (+0.08), 'last_update': 0.05 -> 0.09 (+0.03)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.333631,
    "msecs": 695.0,
    "relativeCreated": 936.16047,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='name': ['customer_id': 0.00 -> 0.00 (+0.00), 'address_id': -0.00 -> -0.00 (+0.00), 'first_name': 0.14 -> 0.99 (+0.85), 'activebool': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'store_id': -0.01 -> -0.01 (+0.00), 'active': 0.08 -> 0.08 (+0.00), 'last_name': 0.16 -> 0.38 (+0.22), 'create_date': 0.05 -> 0.14 (+0.08), 'last_update': 0.05 -> 0.09 (+0.03)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 3x10 match scores in context='customer' in 772 \u03bcs:\ncandidates  customer_id  first_name  address_id  activebool  email  store_id  active  last_name  create_date  last_update\nvalues                                                                                                                   \nlast_name          -inf        -inf        -inf        -inf   -inf      -inf    -inf        inf         -inf         -inf\nid                 0.99       -0.00        0.16        0.09   0.12      0.36    0.04      -0.01         0.07         0.16\nname               0.00        0.99       -0.00       -0.00   0.12     -0.01    0.08       0.38         0.14         0.09",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.334583,
    "msecs": 696.0,
    "relativeCreated": 937.103664,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 3x10 match scores in context='customer' in 772 \u03bcs:\ncandidates  customer_id  first_name  address_id  activebool  email  store_id  active  last_name  create_date  last_update\nvalues                                                                                                                   \nlast_name          -inf        -inf        -inf        -inf   -inf      -inf    -inf        inf         -inf         -inf\nid                 0.99       -0.00        0.16        0.09   0.12      0.36    0.04      -0.01         0.07         0.16\nname               0.00        0.99       -0.00       -0.00   0.12     -0.01    0.08       0.38         0.14         0.09",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'last_name' -> 'last_name'; score=inf (short-circuit or override).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.334688,
    "msecs": 696.0,
    "relativeCreated": 937.213957,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'last_name' -> 'last_name'; score=inf (short-circuit or override).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'name' -> 'first_name'; score=0.993 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.334729,
    "msecs": 696.0,
    "relativeCreated": 937.256807,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'name' -> 'first_name'; score=0.993 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'customer_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.334761,
    "msecs": 696.0,
    "relativeCreated": 937.28935,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'customer_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] in 2 ms. Matches:\n    'last_name' -> ('last_name',)\n    'id' -> ('customer_id',)\n    'name' -> ('first_name',)\nMatched 3/3 values with 3 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.334812,
    "msecs": 696.0,
    "relativeCreated": 937.339924,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x['customer_id', 'first_name', 'address_id', 'activebool', 'email', 'store_id', 'active', 'last_name', 'create_date', 'last_update'] in 2 ms. Matches:\n    'last_name' -> ('last_name',)\n    'id' -> ('customer_id',)\n    'name' -> ('first_name',)\nMatched 3/3 values with 3 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='customer': {'last_name': 'last_name', 'name': 'first_name', 'id': 'customer_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.334849,
    "msecs": 696.0,
    "relativeCreated": 937.375552,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0019852489999721,
    "mapping": {
      "last_name": "last_name",
      "name": "first_name",
      "id": "customer_id"
    },
    "context": "customer",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='customer': {'last_name': 'last_name', 'name': 'first_name', 'id': 'customer_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching 10 IDs from source='customer'. Placeholders: ('customer_id', 'first_name', 'last_name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 580,
    "funcName": "_call_user_impl",
    "created": 1557606600.334897,
    "msecs": 696.0,
    "relativeCreated": 937.42311,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "event_key": "SqlFetcher.fetch_translations:enter",
    "source": "customer",
    "placeholders": [
      "customer_id",
      "first_name",
      "last_name"
    ],
    "num_ids": 10,
    "fetch_all": false,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching 10 IDs from source='customer'. Placeholders: ('customer_id', 'first_name', 'last_name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT customer.customer_id, customer.first_name, customer.last_name \nFROM customer \nWHERE customer.customer_id IN (419, 261, 107, 493, 20, 565, 54, 313, 26, 381)",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_sql_fetcher.py",
    "filename": "_sql_fetcher.py",
    "module": "_sql_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 231,
    "funcName": "_log_query",
    "created": 1557606600.335339,
    "msecs": 697.0,
    "relativeCreated": 937.861199,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "table": "customer",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT customer.customer_id, customer.first_name, customer.last_name \nFROM customer \nWHERE customer.customer_id IN (419, 261, 107, 493, 20, 565, 54, 313, 26, 381)",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Begin FETCH job for 1 sources using rank-0 fetcher MemoryFetcher(sources=['category'], return_all=True) at 0x74b306dcd400.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 292,
    "funcName": "fetch",
    "created": 1557606600.335873,
    "msecs": 697.0,
    "relativeCreated": 938.395523,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Begin FETCH job for 1 sources using rank-0 fetcher MemoryFetcher(sources=['category'], return_all=True) at 0x74b306dcd400.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching placeholders=('id', 'name', 'last_name') for 1 sources: {'category': 7}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 304,
    "funcName": "fetch",
    "created": 1557606600.33592,
    "msecs": 697.0,
    "relativeCreated": 938.44573,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MemoryFetcher.fetch:enter",
    "placeholders": [
      "id",
      "name",
      "last_name"
    ],
    "required_placeholders": [
      "id",
      "name"
    ],
    "num_ids": {
      "category": 7
    },
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching placeholders=('id', 'name', 'last_name') for 1 sources: {'category': 7}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'id', 'name'} for source='category'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.335949,
    "msecs": 697.0,
    "relativeCreated": 938.477917,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MemoryFetcher.map_placeholders:enter",
    "values": [
      "last_name",
      "id",
      "name"
    ],
    "candidates": [
      "id",
      "name"
    ],
    "context": "category",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'id', 'name'} for source='category'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='category' for ['last_name', 'id', 'name']x['id', 'name'] using HeuristicScore([force_lower_case()] -> MemoryFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.335991,
    "msecs": 697.0,
    "relativeCreated": 938.518952,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='category' for ['last_name', 'id', 'name']x['id', 'name'] using HeuristicScore([force_lower_case()] -> MemoryFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='last_name'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.336013,
    "msecs": 697.0,
    "relativeCreated": 938.542334,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='last_name'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='category':\n    ('last_name', ['id', 'name']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.166].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.33607,
    "msecs": 697.0,
    "relativeCreated": 938.598353,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='category':\n    ('last_name', ['id', 'name']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.166].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='last_name': ['id': 0.00 -> 0.00 (+0.00), 'name': 0.17 -> 0.17 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.336106,
    "msecs": 697.0,
    "relativeCreated": 938.634288,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='last_name': ['id': 0.00 -> 0.00 (+0.00), 'name': 0.17 -> 0.17 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 3x2 match scores in context='category' in 168 \u03bcs:\ncandidates   id  name\nvalues               \nlast_name  0.00  0.17\nid          inf  -inf\nname       -inf   inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.336639,
    "msecs": 698.0,
    "relativeCreated": 939.160914,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 3x2 match scores in context='category' in 168 \u03bcs:\ncandidates   id  name\nvalues               \nlast_name  0.00  0.17\nid          inf  -inf\nname       -inf   inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'id'; score=inf (short-circuit or override).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.336712,
    "msecs": 698.0,
    "relativeCreated": 939.237988,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'id'; score=inf (short-circuit or override).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'name' -> 'name'; score=inf (short-circuit or override).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.336749,
    "msecs": 698.0,
    "relativeCreated": 939.276648,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'name' -> 'name'; score=inf (short-circuit or override).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='last_name'. Rejected matches:\n    'last_name' -> 'name'; score=0.166 < 0.9 (below threshold).\n    'last_name' -> 'id'; score=0.000 < 0.9 (below threshold).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.336781,
    "msecs": 698.0,
    "relativeCreated": 939.309659,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='last_name'. Rejected matches:\n    'last_name' -> 'name'; score=0.166 < 0.9 (below threshold).\n    'last_name' -> 'id'; score=0.000 < 0.9 (below threshold).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map {'last_name'} in context='category' to any of candidates={'id', 'name'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 192,
    "funcName": "_report_unmapped",
    "created": 1557606600.336823,
    "msecs": 698.0,
    "relativeCreated": 939.351207,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map {'last_name'} in context='category' to any of candidates={'id', 'name'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x{'id', 'name'} in 885 \u03bcs. Matches:\n    'last_name' -> <no matches>\n    'id' -> ('id',)\n    'name' -> ('name',)\nMatched 2/3 values with 2 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.33686,
    "msecs": 698.0,
    "relativeCreated": 939.388503,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x{'id', 'name'} in 885 \u03bcs. Matches:\n    'last_name' -> <no matches>\n    'id' -> ('id',)\n    'name' -> ('name',)\nMatched 2/3 values with 2 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='category': {'id': 'id', 'name': 'name', 'last_name': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.336896,
    "msecs": 698.0,
    "relativeCreated": 939.422743,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MemoryFetcher.map_placeholders:exit",
    "seconds": 0.00094689700017625,
    "mapping": {
      "id": "id",
      "name": "name",
      "last_name": null
    },
    "context": "category",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='category': {'id': 'id', 'name': 'name', 'last_name': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching 7 IDs from source='category'. Placeholders: ('id', 'name', 'last_name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 580,
    "funcName": "_call_user_impl",
    "created": 1557606600.336939,
    "msecs": 698.0,
    "relativeCreated": 939.466072,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "event_key": "MemoryFetcher.fetch_translations:enter",
    "source": "category",
    "placeholders": [
      "id",
      "name",
      "last_name"
    ],
    "num_ids": 7,
    "fetch_all": false,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching 7 IDs from source='category'. Placeholders: ('id', 'name', 'last_name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching 16 IDs from source='category' in 34 \u03bcs. Placeholders: ('id', 'name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 596,
    "funcName": "_call_user_impl",
    "created": 1557606600.336975,
    "msecs": 698.0,
    "relativeCreated": 939.501173,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MemoryFetcher.fetch_translations:exit",
    "seconds": 3.404400013096165e-05,
    "source": "category",
    "placeholders": [
      "id",
      "name"
    ],
    "num_ids": 7,
    "num_ids_returned": 16,
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching 16 IDs from source='category' in 34 \u03bcs. Placeholders: ('id', 'name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching from 1 sources in 1 ms: ['category' x ('id', 'name') x 16/7 IDs].",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 335,
    "funcName": "fetch",
    "created": 1557606600.337017,
    "msecs": 698.0,
    "relativeCreated": 939.542806,
    "thread": 128312241280704,
    "threadName": "MultiFetcher_1",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MemoryFetcher.fetch:exit",
    "seconds": 0.001095596999675763,
    "sources": [
      "category"
    ],
    "placeholders_returned": {
      "category": 2
    },
    "num_ids": {
      "category": 7
    },
    "num_ids_returned": {
      "category": 16
    },
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching from 1 sources in 1 ms: ['category' x ('id', 'name') x 16/7 IDs].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching 10 IDs from source='customer' in 4 ms. Placeholders: ('customer_id', 'first_name', 'last_name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 596,
    "funcName": "_call_user_impl",
    "created": 1557606600.338727,
    "msecs": 700.0,
    "relativeCreated": 941.246076,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.fetch_translations:exit",
    "seconds": 0.00381675600010567,
    "source": "customer",
    "placeholders": [
      "customer_id",
      "first_name",
      "last_name"
    ],
    "num_ids": 10,
    "num_ids_returned": 10,
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching 10 IDs from source='customer' in 4 ms. Placeholders: ('customer_id', 'first_name', 'last_name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'} for source='film'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.338779,
    "msecs": 700.0,
    "relativeCreated": 941.30636,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "last_name",
      "id",
      "name"
    ],
    "candidates": [
      "title",
      "special_features",
      "description",
      "language_id",
      "rating",
      "replacement_cost",
      "original_language_id",
      "rental_rate",
      "release_year",
      "rental_duration",
      "fulltext",
      "film_id",
      "length",
      "last_update"
    ],
    "context": "film",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'} for source='film'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='film' for ['last_name', 'id', 'name']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.338826,
    "msecs": 700.0,
    "relativeCreated": 941.35424,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='film' for ['last_name', 'id', 'name']x['title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'fulltext', 'film_id', 'length', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, and found 1 matches={'name': 'title'} in the given values=['last_name', 'id', 'name'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.338857,
    "msecs": 700.0,
    "relativeCreated": 941.385716,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, and found 1 matches={'name': 'title'} in the given values=['last_name', 'id', 'name'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.338878,
    "msecs": 700.0,
    "relativeCreated": 941.407733,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='last_name'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.338893,
    "msecs": 700.0,
    "relativeCreated": 941.423141,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='last_name'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.074, 0.039, -0.002, -0.003, -0.004, -0.005, 0.022, -0.007, 0.103, 0.074, -0.01, -0.011, 0.03, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.338955,
    "msecs": 700.0,
    "relativeCreated": 941.484251,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.074, 0.039, -0.002, -0.003, -0.004, -0.005, 0.022, -0.007, 0.103, 0.074, -0.01, -0.011, 0.03, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_last_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.036, 0.017, -0.002, -0.003, -0.004, -0.005, 0.061, -0.007, 0.047, 0.053, -0.01, -0.011, 0.005, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.338999,
    "msecs": 700.0,
    "relativeCreated": 941.527709,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_last_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.036, 0.017, -0.002, -0.003, -0.004, -0.005, 0.061, -0.007, 0.047, 0.053, -0.01, -0.011, 0.005, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_last_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.045, 0.019, -0.002, -0.003, -0.004, -0.005, 0.042, -0.007, 0.06, 0.074, -0.01, -0.011, 0.007, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339038,
    "msecs": 700.0,
    "relativeCreated": 941.567656,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_last_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.045, 0.019, -0.002, -0.003, -0.004, -0.005, 0.042, -0.007, 0.06, 0.074, -0.01, -0.011, 0.007, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.074, 0.039, -0.002, -0.003, -0.004, -0.005, 0.022, -0.007, 0.103, 0.074, -0.01, -0.011, 0.03, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339072,
    "msecs": 700.0,
    "relativeCreated": 941.602033,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('last_name', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.074, 0.039, -0.002, -0.003, -0.004, -0.005, 0.022, -0.007, 0.103, 0.074, -0.01, -0.011, 0.03, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='last_name': ['last_update': 0.07 -> 0.07 (+0.00), 'title': 0.04 -> 0.04 (+0.00), 'special_features': -0.00 -> -0.00 (+0.00), 'description': -0.00 -> -0.00 (+0.00), 'language_id': -0.00 -> -0.00 (+0.00), 'rating': -0.01 -> -0.01 (+0.00), 'replacement_cost': 0.02 -> 0.06 (+0.03), 'original_language_id': -0.01 -> -0.01 (+0.00), 'rental_rate': 0.10 -> 0.10 (+0.00), 'release_year': 0.07 -> 0.07 (+0.00), 'rental_duration': -0.01 -> -0.01 (+0.00), 'film_id': -0.01 -> -0.01 (+0.00), 'length': 0.03 -> 0.03 (+0.00), 'fulltext': -0.01 -> -0.01 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.339099,
    "msecs": 700.0,
    "relativeCreated": 941.629539,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='last_name': ['last_update': 0.07 -> 0.07 (+0.00), 'title': 0.04 -> 0.04 (+0.00), 'special_features': -0.00 -> -0.00 (+0.00), 'description': -0.00 -> -0.00 (+0.00), 'language_id': -0.00 -> -0.00 (+0.00), 'rating': -0.01 -> -0.01 (+0.00), 'replacement_cost': 0.02 -> 0.06 (+0.03), 'original_language_id': -0.01 -> -0.01 (+0.00), 'rental_rate': 0.10 -> 0.10 (+0.00), 'release_year': 0.07 -> 0.07 (+0.00), 'rental_duration': -0.01 -> -0.01 (+0.00), 'film_id': -0.01 -> -0.01 (+0.00), 'length': 0.03 -> 0.03 (+0.00), 'fulltext': -0.01 -> -0.01 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.339127,
    "msecs": 700.0,
    "relativeCreated": 941.657087,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.339143,
    "msecs": 700.0,
    "relativeCreated": 941.673592,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339188,
    "msecs": 701.0,
    "relativeCreated": 941.717846,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.012, 0.028, 0.09, 0.106, -0.006, 0.022, -0.008, -0.009, 0.021, 0.203, -0.012, 0.237].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339225,
    "msecs": 701.0,
    "relativeCreated": 941.755563,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, -0.001, 0.012, 0.028, 0.09, 0.106, -0.006, 0.022, -0.008, -0.009, 0.021, 0.203, -0.012, 0.237].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, -0.002, 0.026, 0.082, -0.005, -0.006, 0.024, -0.008, -0.009, -0.01, 0.989, -0.012, 0.058].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339259,
    "msecs": 701.0,
    "relativeCreated": 941.789794,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> ('film_id', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, -0.001, -0.002, 0.026, 0.082, -0.005, -0.006, 0.024, -0.008, -0.009, -0.01, 0.989, -0.012, 0.058].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.339302,
    "msecs": 701.0,
    "relativeCreated": 941.831729,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='film':\n    ('id', ['last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.0, -0.001, -0.002, -0.003, 0.096, -0.005, -0.006, 0.046, -0.008, -0.009, -0.01, 0.156, -0.012, -0.013].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'title': -0.00 -> -0.00 (+0.00), 'special_features': -0.00 -> 0.01 (+0.01), 'description': -0.00 -> 0.02 (+0.03), 'language_id': 0.10 -> 0.10 (+0.00), 'rating': -0.01 -> 0.10 (+0.11), 'replacement_cost': -0.01 -> -0.01 (+0.00), 'original_language_id': 0.05 -> 0.05 (+0.00), 'rental_rate': -0.01 -> -0.01 (+0.00), 'release_year': -0.01 -> -0.01 (+0.00), 'rental_duration': -0.01 -> 0.02 (+0.03), 'film_id': 0.16 -> 0.98 (+0.82), 'length': -0.01 -> -0.01 (+0.00), 'fulltext': -0.01 -> 0.23 (+0.24)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.339326,
    "msecs": 701.0,
    "relativeCreated": 941.856141,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='id': ['last_update': 0.00 -> 0.00 (+0.00), 'title': -0.00 -> -0.00 (+0.00), 'special_features': -0.00 -> 0.01 (+0.01), 'description': -0.00 -> 0.02 (+0.03), 'language_id': 0.10 -> 0.10 (+0.00), 'rating': -0.01 -> 0.10 (+0.11), 'replacement_cost': -0.01 -> -0.01 (+0.00), 'original_language_id': 0.05 -> 0.05 (+0.00), 'rental_rate': -0.01 -> -0.01 (+0.00), 'release_year': -0.01 -> -0.01 (+0.00), 'rental_duration': -0.01 -> 0.02 (+0.03), 'film_id': 0.16 -> 0.98 (+0.82), 'length': -0.01 -> -0.01 (+0.00), 'fulltext': -0.01 -> 0.23 (+0.24)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 3x14 match scores in context='film' in 548 \u03bcs:\ncandidates  title  special_features  description  language_id  rating  replacement_cost  original_language_id  rental_rate  release_year  rental_duration  fulltext  film_id  length  last_update\nvalues                                                                                                                                                                                           \nlast_name    0.04             -0.00        -0.00        -0.00   -0.01              0.06                 -0.01         0.10          0.07            -0.01     -0.01    -0.01    0.03         0.07\nid          -0.00              0.01         0.02         0.10    0.10             -0.01                  0.05        -0.01         -0.01             0.02      0.23     0.98   -0.01         0.00\nname          inf              -inf         -inf         -inf    -inf              -inf                  -inf         -inf          -inf             -inf      -inf     -inf    -inf         -inf",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.3405,
    "msecs": 702.0,
    "relativeCreated": 943.020364,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 3x14 match scores in context='film' in 548 \u03bcs:\ncandidates  title  special_features  description  language_id  rating  replacement_cost  original_language_id  rental_rate  release_year  rental_duration  fulltext  film_id  length  last_update\nvalues                                                                                                                                                                                           \nlast_name    0.04             -0.00        -0.00        -0.00   -0.01              0.06                 -0.01         0.10          0.07            -0.01     -0.01    -0.01    0.03         0.07\nid          -0.00              0.01         0.02         0.10    0.10             -0.01                  0.05        -0.01         -0.01             0.02      0.23     0.98   -0.01         0.00\nname          inf              -inf         -inf         -inf    -inf              -inf                  -inf         -inf          -inf             -inf      -inf     -inf    -inf         -inf",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'name' -> 'title'; score=inf (short-circuit or override).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.340597,
    "msecs": 702.0,
    "relativeCreated": 943.123494,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'name' -> 'title'; score=inf (short-circuit or override).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'film_id'; score=0.979 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.340625,
    "msecs": 702.0,
    "relativeCreated": 943.153577,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'film_id'; score=0.979 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map value='last_name'. Rejected matches:\n    'last_name' -> 'rental_rate'; score=0.103 < 0.9 (below threshold).\n    'last_name' -> 'release_year'; score=0.074 < 0.9 (below threshold).\n    'last_name' -> 'last_update'; score=0.074 < 0.9 (below threshold).\n    'last_name' -> 'replacement_cost'; score=0.056 < 0.9 (below threshold).\n    'last_name' -> 'title'; score=0.039 < 0.9 (below threshold).\n    'last_name' -> 'length'; score=0.030 < 0.9 (below threshold).\n    'last_name' -> 'special_features'; score=-0.002 < 0.9 (below threshold).\n    'last_name' -> 'description'; score=-0.003 < 0.9 (below threshold).\n    'last_name' -> 'language_id'; score=-0.004 < 0.9 (below threshold).\n    'last_name' -> 'rating'; score=-0.005 < 0.9 (below threshold).\n    'last_name' -> 'original_language_id'; score=-0.007 < 0.9 (below threshold).\n    'last_name' -> 'rental_duration'; score=-0.010 < 0.9 (below threshold).\n    'last_name' -> 'film_id'; score=-0.011 < 0.9 (below threshold).\n    'last_name' -> 'fulltext'; score=-0.013 < 0.9 (below threshold).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 159,
    "funcName": "to_directional_mapping",
    "created": 1557606600.340655,
    "msecs": 702.0,
    "relativeCreated": 943.183896,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map value='last_name'. Rejected matches:\n    'last_name' -> 'rental_rate'; score=0.103 < 0.9 (below threshold).\n    'last_name' -> 'release_year'; score=0.074 < 0.9 (below threshold).\n    'last_name' -> 'last_update'; score=0.074 < 0.9 (below threshold).\n    'last_name' -> 'replacement_cost'; score=0.056 < 0.9 (below threshold).\n    'last_name' -> 'title'; score=0.039 < 0.9 (below threshold).\n    'last_name' -> 'length'; score=0.030 < 0.9 (below threshold).\n    'last_name' -> 'special_features'; score=-0.002 < 0.9 (below threshold).\n    'last_name' -> 'description'; score=-0.003 < 0.9 (below threshold).\n    'last_name' -> 'language_id'; score=-0.004 < 0.9 (below threshold).\n    'last_name' -> 'rating'; score=-0.005 < 0.9 (below threshold).\n    'last_name' -> 'original_language_id'; score=-0.007 < 0.9 (below threshold).\n    'last_name' -> 'rental_duration'; score=-0.010 < 0.9 (below threshold).\n    'last_name' -> 'film_id'; score=-0.011 < 0.9 (below threshold).\n    'last_name' -> 'fulltext'; score=-0.013 < 0.9 (below threshold).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Could not map {'last_name'} in context='film' to any of candidates={'last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 192,
    "funcName": "_report_unmapped",
    "created": 1557606600.340692,
    "msecs": 702.0,
    "relativeCreated": 943.220189,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Could not map {'last_name'} in context='film' to any of candidates={'last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x{'last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext'} in 2 ms. Matches:\n    'last_name' -> <no matches>\n    'id' -> ('film_id',)\n    'name' -> ('title',)\nMatched 2/3 values with 2 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.34072,
    "msecs": 702.0,
    "relativeCreated": 943.249257,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x{'last_update', 'title', 'special_features', 'description', 'language_id', 'rating', 'replacement_cost', 'original_language_id', 'rental_rate', 'release_year', 'rental_duration', 'film_id', 'length', 'fulltext'} in 2 ms. Matches:\n    'last_name' -> <no matches>\n    'id' -> ('film_id',)\n    'name' -> ('title',)\nMatched 2/3 values with 2 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='film': {'name': 'title', 'id': 'film_id', 'last_name': None}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.340746,
    "msecs": 702.0,
    "relativeCreated": 943.273929,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.001972980999653373,
    "mapping": {
      "name": "title",
      "id": "film_id",
      "last_name": null
    },
    "context": "film",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='film': {'name': 'title', 'id': 'film_id', 'last_name': None}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching 10 IDs from source='film'. Placeholders: ('film_id', 'title').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 580,
    "funcName": "_call_user_impl",
    "created": 1557606600.340775,
    "msecs": 702.0,
    "relativeCreated": 943.302958,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "event_key": "SqlFetcher.fetch_translations:enter",
    "source": "film",
    "placeholders": [
      "film_id",
      "title"
    ],
    "num_ids": 10,
    "fetch_all": false,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching 10 IDs from source='film'. Placeholders: ('film_id', 'title').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT film.film_id, film.title \nFROM film \nWHERE film.film_id IN (994, 773, 454, 487, 7, 489, 134, 479, 797, 767)",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_sql_fetcher.py",
    "filename": "_sql_fetcher.py",
    "module": "_sql_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 231,
    "funcName": "_log_query",
    "created": 1557606600.341084,
    "msecs": 702.0,
    "relativeCreated": 943.608249,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "table": "film",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT film.film_id, film.title \nFROM film \nWHERE film.film_id IN (994, 773, 454, 487, 7, 489, 134, 479, 797, 767)",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching 10 IDs from source='film' in 3 ms. Placeholders: ('film_id', 'title').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 596,
    "funcName": "_call_user_impl",
    "created": 1557606600.343338,
    "msecs": 705.0,
    "relativeCreated": 945.845299,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.fetch_translations:exit",
    "seconds": 0.002529745999709121,
    "source": "film",
    "placeholders": [
      "film_id",
      "title"
    ],
    "num_ids": 10,
    "num_ids_returned": 10,
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching 10 IDs from source='film' in 3 ms. Placeholders: ('film_id', 'title').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'} for source='staff'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 193,
    "funcName": "map_placeholders",
    "created": 1557606600.343392,
    "msecs": 705.0,
    "relativeCreated": 945.918282,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:enter",
    "values": [
      "last_name",
      "id",
      "name"
    ],
    "candidates": [
      "staff_id",
      "first_name",
      "address_id",
      "username",
      "picture",
      "email",
      "password",
      "store_id",
      "active",
      "last_name",
      "last_update"
    ],
    "context": "staff",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin mapping of wanted placeholders={'last_name', 'id', 'name'} to actual placeholders={'staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'} for source='staff'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Begin computing match scores in context='staff' for ['last_name', 'id', 'name']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 248,
    "funcName": "compute_scores",
    "created": 1557606600.343451,
    "msecs": 705.0,
    "relativeCreated": 945.977018,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin computing match scores in context='staff' for ['last_name', 'id', 'name']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] using HeuristicScore([force_lower_case() | value_fstring_alias(fstring='first_{value}') | value_fstring_alias(fstring='{context}_{value}') | value_fstring_alias(fstring='{context}', for_value='name')] -> AbstractFetcher.default_score_function).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 2 overrides, but none were a match for the given values=['last_name', 'id', 'name'].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 371,
    "funcName": "_handle_overrides",
    "created": 1557606600.343477,
    "msecs": 705.0,
    "relativeCreated": 946.005404,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 2 overrides, but none were a match for the given values=['last_name', 'id', 'name'].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.343499,
    "msecs": 705.0,
    "relativeCreated": 946.028953,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='last_name', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='id', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.34353,
    "msecs": 705.0,
    "relativeCreated": 946.059517,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='id', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='id'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.343544,
    "msecs": 705.0,
    "relativeCreated": 946.074594,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='id'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.3436,
    "msecs": 705.0,
    "relativeCreated": 946.128117,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.375, -0.001, 0.165, 0.068, -0.004, 0.045, 0.244, 0.368, 0.048, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.34364,
    "msecs": 705.0,
    "relativeCreated": 946.169247,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_id', *).\n    Positional penalty=0.005. Scores before penalty: [0.375, -0.001, 0.165, 0.068, -0.004, 0.045, 0.244, 0.368, 0.048, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, 0.123, -0.003, -0.004, 0.045, 0.119, 0.618, 0.048, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.343677,
    "msecs": 705.0,
    "relativeCreated": 946.205924,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_id', *).\n    Positional penalty=0.010. Scores before penalty: [1.0, -0.001, 0.123, -0.003, -0.004, 0.045, 0.119, 0.618, 0.048, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.343708,
    "msecs": 705.0,
    "relativeCreated": 946.238256,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('id', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.015. Scores before penalty: [0.143, -0.001, 0.109, -0.003, -0.004, 0.12, 0.065, 0.136, -0.008, -0.009, -0.01].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='id': ['staff_id': 0.14 -> 0.99 (+0.85), 'first_name': -0.00 -> -0.00 (+0.00), 'address_id': 0.11 -> 0.16 (+0.05), 'picture': -0.00 -> 0.06 (+0.07), 'username': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'password': 0.07 -> 0.24 (+0.17), 'store_id': 0.14 -> 0.61 (+0.47), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> -0.01 (+0.00)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.343733,
    "msecs": 705.0,
    "relativeCreated": 946.263042,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='id': ['staff_id': 0.14 -> 0.99 (+0.85), 'first_name': -0.00 -> -0.00 (+0.00), 'address_id': 0.11 -> 0.16 (+0.05), 'picture': -0.00 -> 0.06 (+0.07), 'username': -0.00 -> -0.00 (+0.00), 'email': 0.12 -> 0.12 (+0.00), 'password': 0.07 -> 0.24 (+0.17), 'store_id': 0.14 -> 0.61 (+0.47), 'active': -0.01 -> 0.04 (+0.05), 'last_name': -0.01 -> -0.01 (+0.00), 'last_update': -0.01 -> -0.01 (+0.00)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Applied 1 filters for value='name', but did not remove any candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 466,
    "funcName": "_apply_filters",
    "created": 1557606600.343759,
    "msecs": 705.0,
    "relativeCreated": 946.287455,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Applied 1 filters for value='name', but did not remove any candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Compute match scores for value='name'.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 266,
    "funcName": "compute_scores",
    "created": 1557606600.343774,
    "msecs": 705.0,
    "relativeCreated": 946.303823,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Compute match scores for value='name'.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.142, -0.002, 0.059, 0.196, 0.12, -0.006, -0.007, 0.075, 0.158, 0.052].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.343815,
    "msecs": 705.0,
    "relativeCreated": 946.344856,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function force_lower_case() in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> (*, *).\n    Positional penalty=0.000. Scores before penalty: [0.0, 0.142, -0.002, 0.059, 0.196, 0.12, -0.006, -0.007, 0.075, 0.158, 0.052].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, 0.999, -0.002, 0.033, 0.204, 0.028, -0.006, -0.007, 0.025, 0.38, 0.09].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.343991,
    "msecs": 705.0,
    "relativeCreated": 946.509379,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='first_{value}') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('first_name', *).\n    Positional penalty=0.005. Scores before penalty: [0.0, 0.999, -0.002, 0.033, 0.204, 0.028, -0.006, -0.007, 0.025, 0.38, 0.09].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, 0.499, -0.002, 0.033, 0.163, 0.028, -0.006, -0.007, 0.025, 0.324, 0.09].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.34404,
    "msecs": 705.0,
    "relativeCreated": 946.568427,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}_{value}') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff_name', *).\n    Positional penalty=0.010. Scores before penalty: [0.0, 0.499, -0.002, 0.033, 0.163, 0.028, -0.006, -0.007, 0.025, 0.324, 0.09].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff', *).\n    Positional penalty=0.015. Scores before penalty: [0.0, 0.032, 0.031, 0.064, 0.046, 0.195, 0.044, -0.007, 0.092, 0.031, 0.019].",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 125,
    "funcName": "__call__",
    "created": 1557606600.344077,
    "msecs": 705.0,
    "relativeCreated": 946.605708,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Called non-mutating alias function value_fstring_alias(fstring='{context}', for_value='name') in context='staff':\n    ('name', ['staff_id', 'first_name', 'address_id', 'picture', 'username', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update']) -> ('staff', *).\n    Positional penalty=0.015. Scores before penalty: [0.0, 0.032, 0.031, 0.064, 0.046, 0.195, 0.044, -0.007, 0.092, 0.031, 0.019].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.mapping.HeuristicScore",
    "msg": "Heuristics scores for value='name': ['staff_id': 0.00 -> 0.00 (+0.00), 'first_name': 0.14 -> 0.99 (+0.85), 'address_id': -0.00 -> 0.02 (+0.02), 'picture': 0.06 -> 0.06 (+0.00), 'username': 0.20 -> 0.20 (+0.00), 'email': 0.12 -> 0.18 (+0.06), 'password': -0.01 -> 0.03 (+0.04), 'store_id': -0.01 -> -0.01 (+0.00), 'active': 0.08 -> 0.08 (+0.00), 'last_name': 0.16 -> 0.37 (+0.22), 'last_update': 0.05 -> 0.09 (+0.03)]",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_heuristic_score.py",
    "filename": "_heuristic_score.py",
    "module": "_heuristic_score",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 157,
    "funcName": "__call__",
    "created": 1557606600.344102,
    "msecs": 705.0,
    "relativeCreated": 946.632123,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "message": "Heuristics scores for value='name': ['staff_id': 0.00 -> 0.00 (+0.00), 'first_name': 0.14 -> 0.99 (+0.85), 'address_id': -0.00 -> 0.02 (+0.02), 'picture': 0.06 -> 0.06 (+0.00), 'username': 0.20 -> 0.20 (+0.00), 'email': 0.12 -> 0.18 (+0.06), 'password': -0.01 -> 0.03 (+0.04), 'store_id': -0.01 -> -0.01 (+0.00), 'active': 0.08 -> 0.08 (+0.00), 'last_name': 0.16 -> 0.37 (+0.22), 'last_update': 0.05 -> 0.09 (+0.03)]",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Computed 3x11 match scores in context='staff' in 706 \u03bcs:\ncandidates  staff_id  first_name  address_id  username  picture  email  password  store_id  active  last_name  last_update\nvalues                                                                                                                    \nlast_name       -inf        -inf        -inf      -inf     -inf   -inf      -inf      -inf    -inf        inf         -inf\nid              0.99       -0.00        0.16     -0.00     0.06   0.12      0.24      0.61    0.04      -0.01        -0.01\nname            0.00        0.99        0.02      0.20     0.06   0.18      0.03     -0.01    0.08       0.37         0.09",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 273,
    "funcName": "compute_scores",
    "created": 1557606600.345505,
    "msecs": 707.0,
    "relativeCreated": 947.988868,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Computed 3x11 match scores in context='staff' in 706 \u03bcs:\ncandidates  staff_id  first_name  address_id  username  picture  email  password  store_id  active  last_name  last_update\nvalues                                                                                                                    \nlast_name       -inf        -inf        -inf      -inf     -inf   -inf      -inf      -inf    -inf        inf         -inf\nid              0.99       -0.00        0.16     -0.00     0.06   0.12      0.24      0.61    0.04      -0.01        -0.01\nname            0.00        0.99        0.02      0.20     0.06   0.18      0.03     -0.01    0.08       0.37         0.09",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'last_name' -> 'last_name'; score=inf (short-circuit or override).",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.345598,
    "msecs": 707.0,
    "relativeCreated": 948.123323,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'last_name' -> 'last_name'; score=inf (short-circuit or override).",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'name' -> 'first_name'; score=0.994 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.34563,
    "msecs": 707.0,
    "relativeCreated": 948.158382,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'name' -> 'first_name'; score=0.994 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Accepted: 'id' -> 'staff_id'; score=0.990 >= 0.9.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/matrix/_score_helper.py",
    "filename": "_score_helper.py",
    "module": "_score_helper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 148,
    "funcName": "to_directional_mapping",
    "created": 1557606600.34565,
    "msecs": 707.0,
    "relativeCreated": 948.179356,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Accepted: 'id' -> 'staff_id'; score=0.990 >= 0.9.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.map",
    "msg": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] in 2 ms. Matches:\n    'last_name' -> ('last_name',)\n    'id' -> ('staff_id',)\n    'name' -> ('first_name',)\nMatched 3/3 values with 3 different candidates.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/mapping/_mapper.py",
    "filename": "_mapper.py",
    "module": "_mapper",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 169,
    "funcName": "apply",
    "created": 1557606600.345696,
    "msecs": 707.0,
    "relativeCreated": 948.224554,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Mapping with cardinality='ManyToOne' completed for ['last_name', 'id', 'name']x['staff_id', 'first_name', 'address_id', 'username', 'picture', 'email', 'password', 'store_id', 'active', 'last_name', 'last_update'] in 2 ms. Matches:\n    'last_name' -> ('last_name',)\n    'id' -> ('staff_id',)\n    'name' -> ('first_name',)\nMatched 3/3 values with 3 different candidates.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished placeholder mapping for source='staff': {'last_name': 'last_name', 'name': 'first_name', 'id': 'staff_id'}.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 212,
    "funcName": "map_placeholders",
    "created": 1557606600.345722,
    "msecs": 707.0,
    "relativeCreated": 948.249648,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.map_placeholders:exit",
    "seconds": 0.0023372430000563327,
    "mapping": {
      "last_name": "last_name",
      "name": "first_name",
      "id": "staff_id"
    },
    "context": "staff",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished placeholder mapping for source='staff': {'last_name': 'last_name', 'name': 'first_name', 'id': 'staff_id'}.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Begin fetching 2 IDs from source='staff'. Placeholders: ('staff_id', 'first_name', 'last_name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 580,
    "funcName": "_call_user_impl",
    "created": 1557606600.345752,
    "msecs": 707.0,
    "relativeCreated": 948.28012,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "event_key": "SqlFetcher.fetch_translations:enter",
    "source": "staff",
    "placeholders": [
      "staff_id",
      "first_name",
      "last_name"
    ],
    "num_ids": 2,
    "fetch_all": false,
    "task_id": 15234,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Begin fetching 2 IDs from source='staff'. Placeholders: ('staff_id', 'first_name', 'last_name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT staff.staff_id, staff.first_name, staff.last_name \nFROM staff \nWHERE staff.staff_id IN (1, 2)",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_sql_fetcher.py",
    "filename": "_sql_fetcher.py",
    "module": "_sql_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 231,
    "funcName": "_log_query",
    "created": 1557606600.34606,
    "msecs": 707.0,
    "relativeCreated": 948.586013,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "table": "staff",
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Full SELECT-query using 'postgresql+pg8000://postgres:***@localhost:5002/sakila':\nSELECT staff.staff_id, staff.first_name, staff.last_name \nFROM staff \nWHERE staff.staff_id IN (1, 2)",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching 2 IDs from source='staff' in 2 ms. Placeholders: ('staff_id', 'first_name', 'last_name').",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 596,
    "funcName": "_call_user_impl",
    "created": 1557606600.347998,
    "msecs": 709.0,
    "relativeCreated": 950.513082,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.fetch_translations:exit",
    "seconds": 0.0022229999999581196,
    "source": "staff",
    "placeholders": [
      "staff_id",
      "first_name",
      "last_name"
    ],
    "num_ids": 2,
    "num_ids_returned": 2,
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching 2 IDs from source='staff' in 2 ms. Placeholders: ('staff_id', 'first_name', 'last_name').",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching",
    "msg": "Finished fetching from 3 sources in 15 ms: ['customer' x ('id', 'name', 'last_name') x 10/10 IDs], ['film' x ('id', 'name') x 10/10 IDs], ['staff' x ('id', 'name', 'last_name') x 2/2 IDs].",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/fetching/_abstract_fetcher.py",
    "filename": "_abstract_fetcher.py",
    "module": "_abstract_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 335,
    "funcName": "fetch",
    "created": 1557606600.348059,
    "msecs": 709.0,
    "relativeCreated": 950.583354,
    "thread": 128312249673408,
    "threadName": "MultiFetcher_0",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "SqlFetcher.fetch:exit",
    "seconds": 0.015236158000334399,
    "sources": [
      "customer",
      "film",
      "staff"
    ],
    "placeholders_returned": {
      "customer": 3,
      "film": 2,
      "staff": 3
    },
    "num_ids": {
      "customer": 10,
      "film": 10,
      "staff": 2
    },
    "num_ids_returned": {
      "customer": 10,
      "film": 10,
      "staff": 2
    },
    "fetch_all": false,
    "fetcher_config_file": "sql-fetcher.toml",
    "fetcher_class": "id_translation.fetching._sql_fetcher.SqlFetcher",
    "message": "Finished fetching from 3 sources in 15 ms: ['customer' x ('id', 'name', 'last_name') x 10/10 IDs], ['film' x ('id', 'name') x 10/10 IDs], ['staff' x ('id', 'name', 'last_name') x 2/2 IDs].",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.fetching.MultiFetcher",
    "msg": "Completed FETCH jobs for 4 sources using 2 different fetchers in 16 ms.",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/fetching/_multi_fetcher.py",
    "filename": "_multi_fetcher.py",
    "module": "_multi_fetcher",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 315,
    "funcName": "fetch",
    "created": 1557606600.348317,
    "msecs": 710.0,
    "relativeCreated": 950.830295,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "MultiFetcher.fetch:exit",
    "seconds": 0.01581051800030764,
    "sources": 4,
    "max_workers": 2,
    "num_fetchers": 2,
    "fetch_all": false,
    "message": "Completed FETCH jobs for 4 sources using 2 different fetchers in 16 ms.",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator",
    "msg": "Performance counters [ms]: {'map': 2.12, 'extract': 0.136, 'fetch': 16.089, 'verify': 0.294, 'insert': 1.266, 'overhead': 0.283}",
    "args": [],
    "levelname": "DEBUG",
    "levelno": 10,
    "pathname": "<site-packages>/id_translation/_tasks/_translate.py",
    "filename": "_translate.py",
    "module": "_translate",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 182,
    "funcName": "_log_performance",
    "created": 1557606600.35001,
    "msecs": 711.0,
    "relativeCreated": 952.513341,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "durations_ms": {
      "map": 2.12,
      "extract": 0.136,
      "fetch": 16.089,
      "verify": 0.294,
      "insert": 1.266,
      "overhead": 0.283
    },
    "message": "Performance counters [ms]: {'map': 2.12, 'extract': 0.136, 'fetch': 16.089, 'verify': 0.294, 'insert': 1.266, 'overhead': 0.283}",
    "asctime": "2019-05-11T20:30:00"
  },
  {
    "name": "id_translation.Translator",
    "msg": "Finished translation of 29 unique IDs (4 names) in 'DataFrame' in 20 ms.",
    "args": [],
    "levelname": "INFO",
    "levelno": 20,
    "pathname": "<site-packages>/id_translation/_tasks/_translate.py",
    "filename": "_translate.py",
    "module": "_translate",
    "exc_info": null,
    "exc_text": null,
    "stack_info": null,
    "lineno": 199,
    "funcName": "log_key_event_exit",
    "created": 1557606600.350064,
    "msecs": 711.0,
    "relativeCreated": 952.588912,
    "thread": 128314142105728,
    "threadName": "MainThread",
    "processName": "MainProcess",
    "process": 15248,
    "taskName": null,
    "task_id": 15234,
    "event_key": "Translator.translate:exit",
    "seconds": 0.020187545999760914,
    "durations_ms": {
      "map": 2.12,
      "extract": 0.136,
      "fetch": 16.089,
      "verify": 0.294,
      "insert": 1.266,
      "overhead": 0.283
    },
    "num_ids": {
      "customer": 10,
      "film": 10,
      "category": 7,
      "staff": 2
    },
    "online": true,
    "translatable_type": "pandas.DataFrame",
    "io_type": "id_translation.dio.integration.pandas.PandasIO",
    "copy": true,
    "reverse": false,
    "name_to_source": {
      "staff_id": "staff",
      "customer_id": "customer",
      "category_id": "category",
      "film_id": "film"
    },
    "message": "Finished translation of 29 unique IDs (4 names) in 'DataFrame' in 20 ms.",
    "asctime": "2019-05-11T20:30:00"
  }
]