The concept of smart grid incorporates a network of generation, transmission and distribution components that undertake power delivery from bulk generation power plants and distributed generation to various types of loads. The components are governed and managed by intelligent devices from generation to consumption, and can be optimized based on environmental and economic constraints. A smart grid allows utilities to engage consumers in power generation at the residential and industrial level, and may implement a bidirectional power exchange. To enable being smart, a huge amount of data is exchanged between grid components and the enterprise systems that manage these components. Based on the application, information exchanged enables economically optimized bidirectional power flow between a utility and its customers. Data exchange is essential for controlling, monitoring and coordination between smart equipment in a smart grid subsystem. For optimal performance, big data analytics are a necessity, and local autonomous control is achieved when artificial intelligence is applied using machine learning techniques. This paper reviews the applications of big data analytics, machine learning and artificial intelligence in the smart grid. Benefits, challenges, impacts and problems of employing these techniques are presented. Some big data analytics approaches for computing and transmitting data are detailed.