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 one or more 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), which perform primitive 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 receives jobs from one or most nodes in the first group, performs work requested by the job, and forms a reply.