Modern cities deploy a variety of sensors, electric and water meters, or other devices used to guarantee efficient provisioning of services. Internet of Things (IoT) devices and sensors monitor and report on weather conditions, parking space availability, the structural integrity of bridges, historical monuments, and buildings, trash levels in waste containers, night activity and traffic in the streets of the city, and many more. The massive volumes of data produced by sensors and devices need to be harnessed to help smart city applications make informed decisions on the fly. This requires the ability to stream sensed data efficiently, process data streams in real-time, and utilize big data analytics. This paper describes a platform that aims to deal with the streaming of IoT data across the various systems of the city to permit conducting urban data analytics and creation of value-added services. The framework relies on a powerful message broker that can deal with the heterogeneity of IoT devices and adequately scale with the data volumes.