Background format optimization for enhanced SQL-like queries in Hadoop
First Claim
Patent Images
1. A system for performing queries on stored data in a Hadoop™
- distributed computing cluster, the system comprising;
a plurality of data nodes forming a peer-to-peer network for the queries received from a client, a respective data node of the plurality of data nodes functioning as a peer in the peer-to-peer network and being capable of interacting with components of the Hadoop™
cluster, the respective data node operating an instance of a query engine that is configured to;
parse a query from a client;
selectively creates query fragments based on an availability of converted data at the respective data node, the converted data corresponding to data associated with the query, wherein the converted data is the data associated with the query converted from an original format into a target format that is specified by a schema, and wherein the query is processed into said query fragments by whichever data node that receives the query;
distribute the query fragments among the plurality of data nodes;
execute the query fragments on whichever local data that corresponds to a format for which the query fragments are created, based on the schema;
obtain intermediate results from other data nodes that receive the query fragments; and
aggregate the intermediate results for the client.
5 Assignments
0 Petitions
Accused Products
Abstract
A format conversion engine for Apache Hadoop that converts data from its original format to a database-like format at certain time points for use by a low latency (LL) query engine. The format conversion engine comprises a daemon that is installed on each data node in a Hadoop cluster. The daemon comprises a scheduler and a converter. The scheduler determines when to perform the format conversion and notifies the converter when the time comes. The converter converts data on the data node from its original format to a database-like format for use by the low latency (LL) query engine.
71 Citations
15 Claims
-
1. A system for performing queries on stored data in a Hadoop™
- distributed computing cluster, the system comprising;
a plurality of data nodes forming a peer-to-peer network for the queries received from a client, a respective data node of the plurality of data nodes functioning as a peer in the peer-to-peer network and being capable of interacting with components of the Hadoop™
cluster, the respective data node operating an instance of a query engine that is configured to;parse a query from a client; selectively creates query fragments based on an availability of converted data at the respective data node, the converted data corresponding to data associated with the query, wherein the converted data is the data associated with the query converted from an original format into a target format that is specified by a schema, and wherein the query is processed into said query fragments by whichever data node that receives the query; distribute the query fragments among the plurality of data nodes; execute the query fragments on whichever local data that corresponds to a format for which the query fragments are created, based on the schema; obtain intermediate results from other data nodes that receive the query fragments; and aggregate the intermediate results for the client. - View Dependent Claims (2, 3, 4, 5)
- distributed computing cluster, the system comprising;
-
6. A method for performing queries on stored data in a Hadoop™
- distributed computing cluster, the method comprising;
forming, based on a plurality of data nodes, a peer-to-peer network for the queries received from a client, a respective data node of the plurality of data nodes functioning as a peer in the peer-to-peer network and being capable of interacting with components of the Hadoop™
cluster; andin the respective data node, operating an instance of a query engine that is configured to; parse a query from a client; selectively creates query fragments based on an availability of converted data at the respective data node, the converted data corresponding to data associated with the query, wherein the converted data is the data associated with the query converted from an original format into a target format that is specified by a schema, and wherein the query is processed into said query fragments by whichever data node that receives the query; distribute the query fragments among the plurality of data nodes; execute the query fragments on whichever local data that corresponds to a format for which the query fragments are created, based on the schema; obtain intermediate results from other data nodes that receive the query fragments; and aggregate the intermediate results for the client. - View Dependent Claims (7, 8, 9, 10)
- distributed computing cluster, the method comprising;
-
11. A non-transitory machine-readable storage medium having stored thereon instructions which, when executed by one or more processors, cause the processors to perform a method comprising:
-
forming, based on a plurality of data nodes, a peer-to-peer network for the queries received from a client, a respective data node of the plurality of data nodes functioning as a peer in the peer-to-peer network and being capable of interacting with components of a Hadoop™
cluster; andin the respective data node, operating an instance of a query engine that is configured to; parse a query from a client; selectively creates query fragments based on an availability of converted data at the respective data node, the converted data corresponding to data associated with the query, wherein the converted data is the data associated with the query converted from an original format into a target format that is specified by a schema, and wherein the query is processed into said query fragments by whichever data node that receives the query; distribute the query fragments among the plurality of data nodes; execute the query fragments on whichever local data that corresponds to a format for which the query fragments are created, based on the schema; obtain intermediate results from other data nodes that receive the query fragments; and aggregate the intermediate results for the client. - View Dependent Claims (12, 13, 14, 15)
-
Specification