def METHOD_NAME(self, input_buffer) -> pd.DataFrame:
    self.data = []
    self.columns = None
    try:
        self._process(input_buffer)
        df = pd.DataFrame(data=self.data, columns=self.columns)
        if os.path.exists(self.df_file_path):
            os.remove(self.df_file_path)
        # Create directory if not exists
        df_dir_path = os.path.dirname(self.df_file_path)
        os.makedirs(df_dir_path, exist_ok=True)
        write_parquet_file(self.df_file_path, df)
    except Exception as err:
        message = f'{self.__class__.__name__} process failed with error {err}.'
        self.logger.exception(message, tags=dict(
            error=str(err),
            errors=traceback.format_stack(),
            message=traceback.format_exc(),
        ))
        raise Exception(message)