First baseman Ryan O’Hearn, who earned his first All-Star selection last season, has reached a two-year, $29M deal with the Pirates, sources told ESPN.