1. An asymmetric data processor comprising: a first group of nodes comprising one or more host processors, each host comprising a memory, a network interface, and one or more Central Processing Units (CPUs), wherein each host accepts and responds to queries for data, and transforms such queries into one or more jobs; a second group of nodes comprising a plurality of Job Processing Units (JPUs), wherein each JPU comprises: a memory, for storing data; a network interface, for receiving data and instructions; a streaming data interface, for receiving data from a streaming data source; one or more general purpose CPUs, for responding to requests from at least one host computer in the first group, and to requests from other JPUs in the second group; and one or more Programmable Streaming Data Processors (PSDPs) configured to perform filtering functions directly on data received from the streaming data interface, each PSDP thus performing initial processing on a set of data; and a network connecting the nodes within each group and between the two groups; and wherein a JPU at the second group of nodes is configured to receive jobs from one or more nodes in the first group, perform work requested by the jobs, and generate a result based on the work.