docs: def _parse_columns(self):
      
          ''' a helper method for parsing the column properties from the record schema '''
          
      # construct column list
          column_map = {}
          for key, value in self.model.keyMap.items():
              record_key = key[1:]
              if record_key:
                  if self.item_key.findall(record_key):
                      pass
                  else:
                      if value['value_datatype'] == 'map':
                          continue
                      datatype = value['value_datatype']
                      if value['value_datatype'] == 'number':
                          datatype = 'float'
                          if 'integer_data' in value.keys():
                              if value['integer_data']:
                                  datatype = 'integer'
                      replace_key = ''
                      if 'field_metadata' in value.keys():
                          if 'replace_key' in value['field_metadata'].keys():
                              if isinstance(value['field_metadata']['replace_key'], str):
                                  replace_key = value['field_metadata']['replace_key']
                      max_length = None
                      if 'max_length' in value.keys():
                          max_length = value['max_length']
                      column_map[record_key] = (record_key, datatype, replace_key, max_length)
          
          return column_map