McLaren's Lando Norris took a triumphant victory in a rain-soaked Australian Grand Prix after local hope Oscar Piastri spun.