Internet of Things (IoT) domains generate large volumes of high velocity event streams from sensors, which need to be analyzed with low latency to drive decisions. Complex Event Processing (CEP) is a Big Data technique to enable such analytics, and is traditionally performed on Cloud Virtual Machines (VM). Leveraging captive IoT edge resources in combination with Cloud VMs can offer better performance, flexibility and monetary costs for CEP. Here, we formulate an optimization problem for energy-aware placement of CEP queries, composed as an analytics dataflow, across a collection of edge and Cloud resources, with the goal of minimizing the end-to-end latency for the dataflow. We propose a Genetic Algorithm (GA) meta-heuristic to solve this problem, and compare it against a brute-force optimal algorithm (BF). We perform detailed real-world benchmarks on the compute, network and energy capacity of edge and Cloud resources. These results are used to define a realistic and comprehensive simulation study that validates the BF and GA solutions for 45 diverse CEP dataflows, LAN and WAN setup, and different edge resource availability. We compare the GA and BF solutions against random and Cloud-only baselines for different configurations, for a total of 1764 simulation runs. Our study shows that GA is within 97% of the optimal BF solution that takes hours, maps dataflows with 4 − 50 queries in 1 − 26 secs, and only fails to offer a feasible solution ≤ 20% of the time.A common information processing architecture is to move data from thousands or millions of edge devices centrally into public Clouds, where CEP or other analytics engines hosted on Virtual Machines (VM) can process the incoming streams, and data can be persisted for mining and visualization 1 2 . Here, the edge devices serve as "dumb" sensors that transmit the data to the Cloud for centralized analytics.However, moving event streams from the edge to the Cloud introduces data transfer latency, and the public network may become a bandwidth bottleneck for large deployments. There are associated monetary costs for the use of Cloud VMs and network. Edge devices are getting powerful, energy-efficient, and affordable. Their use is widespread as gateways in IoT deployments, and offer captive computing at low/no cost. Lastly, having a hub and spoke model where all data is ingested to the Cloud does not give us any fine-grained control over where data from the IoT deployment can go.In this article, we propose approaches for distributed event-based analytics across edge and Cloud resources to support IoT applications. We consider a deployment with multiple event streams generated at the edge at high frequency, an analytics dataflow composed of CEP queries that should execute over these streams, and multiple edge devices and public Cloud VMs to perform the queries. Our goal is to find a distributed placement of these queries onto the edge and Cloud resources to minimize the endto-end latency for performing the event analytics. This placement must meet constraints of thro...