CPC G06F 3/0667 (2013.01) [G06F 3/0613 (2013.01); G06F 3/064 (2013.01); G06F 3/0646 (2013.01); G06F 3/067 (2013.01); G06F 3/0679 (2013.01)] | 19 Claims |
1. A data node for processing distributed files, the data node comprising:
a processor;
a memory;
a data storage device; and
one or more computer-readable media comprising a plurality of instructions stored thereon that, when executed by the data node, causes the data node to:
receive an instruction to query an object of a distributed file system (DFS) stored on the data storage device of the data node, wherein the object comprises a plurality of data elements;
determine block mapping of the object on the data storage device, wherein the block mapping indicates a location of each of the plurality of data elements on the data storage device;
query, by the data storage device and based on the block mapping of the object, each of the plurality of data elements of the object;
create a virtual object for each of the plurality of data elements, wherein each virtual object indicates the block mapping for the corresponding data element; and
send the virtual object corresponding to each of the plurality of data elements to the data storage device, wherein to send the virtual object corresponding to each of the plurality of data elements to the data storage device comprises to:
create a compute descriptor for each of the plurality of data elements, wherein each compute descriptor includes the corresponding virtual object and an indication of the query to be performed on the corresponding data element; and
send the compute descriptor for each of the plurality of data elements to the data storage device.
|