I can add one more idea to use SQL and row_number if you have an ID that would indicate a duplicate entry.
SELECT * FROM
( SELECT *
, row_number() over (partition BY `ID` ORDER BY `date` DESC) AS `rank_id`
FROM `default`.`data1`
) t1
-- only keep the entry that will be
-- left on top of a group of identical v_name
WHERE `t1`.`rank_id` = 1
;