def _validate_time_index_col(df: DataFrame, entity_id: str,
                                 time_index: str):
        def validate_single_row(row: Row):
            time_str = row[time_index]
            try:
                return parser.parse(time_str)
            except Exception:
                raise ValueError("Cannot parse '{0}' of time index column "
                                 "'{1}' in entity '{2}'! ".format(
                                     time_str,
                                     EntitySpark.recover_col_name(
                                         entity_id, time_index), entity_id))

        df.foreach(validate_single_row)