def METHOD_NAME(self) -> Iterator[TableMetadata]:
    """
    Using itertools.groupby and raw level iterator, it groups to table and yields TableMetadata
    :return:
    """
    row = self._alchemy_extractor.extract()
    while row:
        columns = self._get_column_metadata(row['view_original_text'])
        yield TableMetadata(database='presto',
                            cluster=self._cluster,
                            schema=row['schema'],
                            name=row['name'],
                            description=None,
                            columns=columns,
                            is_view=True)
        row = self._alchemy_extractor.extract()