Germany's Alexander Zverev held off rising Hungarian Fabian Marozsan to book a place in the semi-finals of the ATP Miami Open with a 6-3, 7-5 win on Thursday.