CN113704291A - Data query method and device, storage medium and electronic equipment - Google Patents

Data query method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN113704291A
CN113704291A CN202111032755.6A CN202111032755A CN113704291A CN 113704291 A CN113704291 A CN 113704291A CN 202111032755 A CN202111032755 A CN 202111032755A CN 113704291 A CN113704291 A CN 113704291A
Authority
CN
China
Prior art keywords
statement
engine
query
target
query language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111032755.6A
Other languages
Chinese (zh)
Inventor
孙科
韩帅
郭俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202111032755.6A priority Critical patent/CN113704291A/en
Publication of CN113704291A publication Critical patent/CN113704291A/en
Priority to PCT/CN2022/109468 priority patent/WO2023029854A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Abstract

The disclosure relates to a data query method, a data query device, a storage medium and an electronic device, which are used for reducing the use cost of a user in a data query process and improving the data query efficiency. The method comprises the following steps: acquiring a structured query language statement determined based on a unified structured query language standard; determining query features corresponding to the structured query language statement, wherein the query features are used for representing query semantics of the structured query language statement; determining a target computing engine in a plurality of computing engines according to the query features of the structured query language statement, and converting the structured query language statement into a target data query statement executable by the target computing engine; executing, by the target computing engine, the target data query statement.

Description

Data query method and device, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of data technologies, and in particular, to a data query method, an apparatus, a storage medium, and an electronic device.
Background
OLAP (Online Analytical Processing) is Online data access and analysis for specific problems, and the goal of OLAP is to meet query and report requirements specific to decision support or multidimensional environments.
In the related art, in the OLAP process, data may be obtained from a data source through a calculation engine for analysis. However, the architectures of various computing engines are different, and when using various heterogeneous computing engines, users are required to master different engine use skills, including SQL (Structured Query Language) syntax, function definition, parameter tuning, and the like, for example, when using a Presto engine, users need to write SQL according to the syntax specification of the Presto engine, and when using a Spark engine, users need to write SQL according to the syntax specification of the Spark engine, which greatly increases the use cost of users in the data Query process, thereby affecting OLAP efficiency.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a data query method, including:
acquiring a structured query language statement determined based on a unified structured query language standard;
determining query features corresponding to the structured query language statement, wherein the query features are used for representing query semantics of the structured query language statement;
determining a target computing engine in a plurality of computing engines according to the query features of the structured query language statement, and converting the structured query language statement into a target data query statement executable by the target computing engine;
executing, by the target computing engine, the target data query statement.
In a second aspect, the present disclosure provides a data query apparatus, including:
the acquisition module is used for acquiring the structured query language sentences determined based on the unified structured query language standard;
a first determining module, configured to determine a query feature corresponding to the structured query language statement, where the query feature is used to characterize query semantics of the structured query language statement;
a second determining module, configured to determine a target computing engine among multiple computing engines according to the query feature of the structured query language statement, and convert the structured query language statement into a target data query statement that can be executed by the target computing engine;
and the query module is used for executing the target data query statement through the target computing engine.
In a third aspect, the present disclosure provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processing apparatus, implements the steps of the method described in the first aspect.
In a fourth aspect, the present disclosure provides an electronic device comprising:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to carry out the steps of the method of the first aspect.
Through the technical scheme, a user does not need to write corresponding SQL sentences aiming at computing engines with different architectures, but can write the structured query language sentences based on the unified structured query language standard, and then automatically adapt the target computing engine to execute corresponding data query operation according to the query characteristics of the structured query language sentences. Therefore, the use cost of a user in the data query process can be reduced, the data query efficiency is improved, and the online analysis processing efficiency can be improved in an online analysis processing (OLAP) scene.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale. In the drawings:
FIG. 1 is a flow chart illustrating a method of data query according to an exemplary embodiment of the present disclosure;
FIG. 2 is a process diagram illustrating a data query method according to an exemplary embodiment of the present disclosure;
FIG. 3 is a block diagram illustrating a data query device in accordance with an exemplary embodiment of the present disclosure;
fig. 4 is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units. It is further noted that references to "a", "an", and "the" modifications in the present disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
As background, in OLAP, related art techniques may first obtain data from a data source for analysis by a big data computing engine. However, the architectures of various computing engines are different, and when using various heterogeneous computing engines, users are required to master different engine use skills, including SQL (Structured Query Language) syntax, function definition, parameter tuning, and the like, for example, when using a Presto engine, users need to write SQL according to the syntax specification of the Presto engine, and when using a Spark engine, users need to write SQL according to the syntax specification of the Spark engine, which greatly increases the use cost of users in the data Query process, thereby affecting OLAP efficiency.
In view of the above, the present disclosure provides a data query method to automatically adapt to various computing engines based on a unified SQL syntax, thereby reducing the use cost of a user in the data query process.
Fig. 1 is a flowchart illustrating a data query method according to an exemplary embodiment of the present disclosure. Referring to fig. 1, the data query method includes:
step 101, obtaining a structured query language statement written based on a unified structured query language standard.
Step 102, determining a query feature corresponding to the structured query language statement, where the query feature is used to characterize query semantics of the structured query language statement.
Step 103, according to the query feature of the structured query language statement, determining a target computing engine in the plurality of computing engines, and converting the structured query language statement into a target data query statement executable by the target computing engine.
Step 104, executing the target data query statement through the target computing engine.
Through the method, a user does not need to write the corresponding SQL sentences aiming at the computing engines with different architectures, but can write the structured query language sentences based on the unified structured query language standard, and then automatically adapt the target computing engine to execute the corresponding data query operation according to the query characteristics of the structured query language sentences. Therefore, the use cost of a user in the data query process can be reduced, the data query efficiency is improved, and the online analysis processing efficiency can be improved in an online analysis processing (OLAP) scene.
In order to make the data query method provided by the present disclosure more understandable to those skilled in the art, the above steps are exemplified in detail below.
Illustratively, a SQL ANSI-2011 standard as a basis, and a partial Hive-style DDL (Data Definition Language) and Flink-style streaming syntax as a unified structured query Language standard in the embodiments of the present disclosure may be selected. Of course, in other possible ways, the SQL syntax supported by any one of the computing engines may also be selected as the unified structured query language standard, which is not limited in the embodiment of the present disclosure.
The embodiment of the disclosure presets the unified structured query language standard, so that a user can write SQL sentences based on the unified structured query language standard in the data query process without learning the use skills of each computing engine and writing the SQL sentences corresponding to the computing engines. In addition, the embodiment of the disclosure can also set a uniform calling interface, and then obtain the structured query language statement written based on the uniform structured query language standard through the uniform calling interface. That is, the disclosed embodiments provide a unified SQL entry and SQL standard. Therefore, the use cost of the user in the data query process can be reduced, and the data query efficiency is improved.
After the structured query language statement written based on the unified structured query language standard is obtained, in order to accurately and automatically adapt to the computing engine to execute data query and improve the data query efficiency, the query characteristics of the structured query language statement can be determined, and then a target computing engine more suitable for data query can be determined in a plurality of computing engines according to the query characteristics of the structured query language statement.
For example, the query features may characterize query semantics of the structured query language statement, may include complexity features of the structured query language statement and/or data source features of data to be queried in the structured query language statement. The plurality of compute engines may include a pure compute class big data compute engine: spark, Hive, Presto, Flink, or may also include a big data compute engine with integral compute storage: ClickHouse, Druid, elastic search, which are not limited in this disclosure.
In a possible approach, determining the query features corresponding to the structured query language statement may be: and determining the complexity characteristics corresponding to the structured query language statement and/or the data source characteristics of the data to be queried in the structured query language statement. Accordingly, determining a target compute engine among the plurality of compute engines based on the query features of the structured query language statement may be: a target compute engine is determined among a plurality of compute engines based on complexity characteristics and/or data source characteristics of the structured query language statement.
For example, a preconfigured engine adaptation rule may be obtained, where the engine adaptation rule is used to characterize a correspondence between the query feature of the structured query language statement and the plurality of computing engines, so that the target computing engine may be determined among the plurality of computing engines according to the query feature of the structured query language statement and the engine adaptation rule.
For example, a first engine adaptation rule and a second engine adaptation rule configured in advance may be obtained, where the first engine adaptation rule is used to characterize a correspondence between the complexity of the structured query language statement and the plurality of computing engines, and the second engine adaptation rule is used to characterize a correspondence between the data source and the plurality of computing engines, so that a target computing engine may be determined in the plurality of computing engines according to the complexity characteristic of the structured query language statement and the first engine adaptation rule, and the data source characteristic of the structured query language statement and the second engine adaptation rule.
For example, the first engine adaptation rule is pre-configured as: the A engine is used for executing simple SQL statements, and the B engine is used for executing complex SQL statements. Therefore, according to the complexity characteristics of the SQL statement, the target computing engine may be determined as: if the complexity of the SQL statement is determined to be greater than the preset complexity, the target computing engine can be determined to be an engine B, and if the complexity of the SQL statement is determined to be less than or equal to the preset complexity, the target computing engine can be determined to be an engine A.
For another example, the second engine adaptation rule is pre-configured as follows: the A calculation engine is used for carrying out data query on the a data source, and the B calculation engine is used for carrying out data query on the B data source. Therefore, if the data source of the data to be queried in the SQL statement is determined to be the a data source, the target computing engine is determined to be the A computing engine, and if the data source of the data to be queried in the SQL statement is determined to be the B data source, the target computing engine is determined to be the B computing engine.
For another example, the first engine adaptation rule is pre-configured as follows: the A1 calculation engine executes simple SQL statements, the A2 engine executes complex SQL statements, and a second engine adaptation rule is configured in advance: the A1 calculation engine and the A2 calculation engine are used for data query on a data source. In this case, if the data source of the data to be queried in the SQL statement is determined to be the a data source, the target computing engines may be determined to be the a1 computing engine and the a2 computing engine based on the data source characteristics and the second engine adaptation rules. Further, a target calculation engine can be determined at the a1 calculation engine and the a2 calculation engine according to the complexity characteristics of the SQL statement and the first engine adaptation rule.
It should be understood that the above examples are only possible ways to determine the target computing engine according to the query features of the SQL statements, and are not intended to limit the present disclosure, and in a specific application, the target computing engine may be determined according to the query features of the SQL statements in other ways, which is not limited by the embodiments of the present disclosure.
In a possible manner, in order to improve the execution efficiency of the SQL statement, the structured query language statement may be optimized according to the query characteristics of the structured query language statement and a preset statement optimization policy to obtain an optimized query statement, and then a target calculation engine is determined among the plurality of calculation engines according to the optimized query statement.
It should be understood that, in the related art, when a user uses heterogeneous computing engines, not only the corresponding SQL statements need to be written for different computing engines, but also corresponding SQL statement optimization policies need to be set for different computing engines due to different execution characteristics of the different computing engines, so that the use cost of the user is increased, and the data query efficiency is affected. In the embodiment of the disclosure, after the SQL statements are written based on the uniform SQL standard, the SQL statements can be uniformly optimized, so that the use cost of a user is reduced, and the data query efficiency is improved.
For example, the preset statement optimization policy may include general optimization means in the related art, such as a materialized view selection policy, an expression merging policy, an advanced constant inference policy, a built-in function optimization policy (i.e., a policy of an inefficient function to an efficient function), and the like, which is not limited by the embodiment of the present disclosure.
For example, an SQL statement is used to query the data of table a, table B, and table C, including the expression of "a join B join C", then it may be determined that the operation needs to be performed according to the query characteristics of the SQL statement: a join Bjoin C. In this case, whether the operation join C is executed after the operation a join B is executed, or the operation join a is executed after the operation B join C is executed, or the operation join B is executed after the operation a join C is executed, the execution efficiency of the SQL statement may be improved as a target, and the determination may be made according to a preset statement optimization policy, that is, the SQL statement may be optimized through the expression merging policy, so as to obtain an optimized query statement. Thereafter, a target compute engine may then be determined among the plurality of compute engines from the optimized query statement.
Therefore, the SQL sentences can be optimized in a unified mode, so that the use cost of a user in the data query process is reduced, and the data query efficiency is improved.
After the target computing engine is determined, the obtained SQL statements may be converted into target data query statements that the target computing engine can execute. For example, the conversion may be performed on a UDF (User Defined Function) and a UDAF (User Defined Aggregation Function) corresponding to an original SQL statement, so that the target computing engine executes a corresponding data query operation according to the converted target data query statement.
In a possible manner, one of the multiple computing engines may be selected as a standard engine, and based on a data format of a structured query language statement that can be processed by the standard engine, the structured query language statement may be converted into an intermediate query statement. Accordingly, converting a structured query language statement to a target data query statement that a target computing engine is capable of executing may be: and determining whether the target computing engine is a standard engine, and if the target computing engine is not the standard engine, converting the intermediate query statement into a target data query statement which can be executed by the target computing engine.
In other possible approaches, if the target compute engine is a standard engine, the intermediate query statement may be executed directly by the target compute engine.
Illustratively, the standard engine may be a computational engine in which rules of SQL statements are generic and the translation into SQL statements that other engines are capable of executing is less costly. Therefore, the conversion efficiency of the SQL statement can be improved, and the data query efficiency is further improved. For example, considering the universality of the calcium engine and the low cost of SQL statement conversion between the calcium engine and the Spark engine and between the calcium engine and the Presto engine, the calcium engine can be used as a standard engine. Of course, in other possible manners, any other computing engine may also be selected as the standard engine, for example, a Spark engine or a Presto engine may be selected as the standard engine, and this is not limited in this disclosure.
Therefore, the data query efficiency can be further improved while various computing engines are automatically adapted.
In a possible manner, if the standard engine is a call engine and the target computing engine is a Spark engine, the converting the structured query language statement into the intermediate query statement based on the data format of the structured query language statement that can be processed by the standard engine may be: the structured query language statement is converted to a RelNode statement based on the format of the structured query language statement that the standard engine is capable of processing. Accordingly, converting the intermediate query statement to a target data query statement that the target compute engine is capable of executing may be: and converting the RelNode statement into a DataFrame statement which can be executed by a target computing engine.
That is to say, in the embodiment of the present disclosure, in order to automatically adapt a calculation engine, an input SQL statement may be first converted into a RelNode statement, and then, if it is determined that a target calculation engine is a Spark engine, the RelNode statement may be further converted into a DataFrame statement, and then, the DataFrame statement is executed by the Spark engine, so as to implement data query. If the target computing engine is determined to be a Call engine, the RelNode statement can be directly executed through the Call engine.
It should be understood that, compared with converting the RelNode statement into a LogicalPlan statement or a Physicalplan statement that can be processed by a Spark engine, the API of the DataFrame statement is relatively stable, so that the stability of calling the corresponding statement through the API can be ensured, and the normal execution of data query can be further ensured. In addition, compared with the method for converting the RelNode statement into the corresponding SQL statement again, two sets of SQL parses are required to be maintained, but because the difference between the SQL parser of the Spark engine and the SQL parser of the Call engine is large, the time overhead and the resource overhead of parsing are large in a complex scene, and therefore the data query efficiency can be influenced. Therefore, in the embodiment of the disclosure, the RelNode statement is converted into the DataFrame statement, and the data query efficiency can be further improved in a scene of adapting to multiple engines.
In a possible manner, if the standard engine is a call engine and the target computing engine is a Presto engine, the converting the structured query language statement into the intermediate query statement based on a format of the structured query language statement that can be processed by the standard engine may be: the structured query language statement is converted to a RelNode statement based on the data format of the structured query language statement that the standard engine is capable of processing. Accordingly, converting the intermediate query statement to a target data query statement that the target compute engine is capable of executing may be: the RelNode statement is converted into a structured query language statement that the target compute engine is capable of executing.
It should be understood that the calcium engine has no native support for the Presto engine, and the Presto engine also has no stable API interface. One possible implementation is to convert the SQL statement into a RelNode statement that the call engine can process, and then convert the RelNode statement into a Node structure that the Presto engine can process. However, because of the lack of efficient APIs in Presto engines, this approach is very costly to interface and difficult to apply quickly.
The inventor researches and discovers that the difference between the data query statement executable by the Presto engine and the call engine and the unified structured query language standard is smaller than the difference between the data query statement executable by the Spark engine and the unified structured query language standard, so in order to adapt the call engine and the store engine in a multi-engine scene, the SQL statement can be converted into the RelNode statement which can be processed by the call engine, and then the RelNode statement can be converted into the SQL statement executable by the store engine. Therefore, although two sets of SQL analyses need to be maintained, the SQL analyses of the Presto engine and the Call engine are similar, so that the time overhead and the resource overhead of the analysis can be reduced, and the data query efficiency is ensured.
By the mode, automatic adaptation of multiple engines can be realized based on the uniform SQL standard, and the use cost of a user in the data query process is reduced, so that the data query efficiency is improved.
In practical application, if the data to be queried spans multiple data sources, the data of other data sources needs to be synchronized to the target data source first, and then the data of the target data source after data synchronization is queried. The target data source is any one of the plurality of data sources, and the other data sources are the rest data sources except the target data source in the plurality of data sources. According to the method, when the cross-data-source joint query is carried out, data synchronization tasks need to be executed, and if the data needing to be synchronized is numerous, the data query efficiency is greatly influenced.
In the embodiment of the disclosure, in order to implement automatic adaptation of multiple data sources, support joint query across data sources, and omit additional data synchronization tasks, a target computing engine corresponding to each data source may be determined in multiple computing engines according to data source characteristics corresponding to a structured query language statement when a data source of data to be queried in the structured query language statement includes at least two different data sources, and the structured query language statement is converted into a target data query statement that can be executed by the corresponding target computing engine based on the data source characteristics, and then after the corresponding target data query statement is executed by the target computing engine, any one of the multiple computing engines is determined as a joint processing engine, and target data queried by each target computing engine from the corresponding data source through executing the target data query statement is sent to the joint processing engine, and finally, performing joint processing on each target data through the joint processing engine.
For example, the joint processing engine may be any one of the target computing engines, or may be any other one of the plurality of computing engines except the target computing engine, and may be configured according to the actual situation. It should be appreciated that, by determining any one of the target computing engines as a joint processing engine, data transmission may be reduced, and thus data query efficiency may be improved, compared to a manner in which any one of the plurality of computing engines other than the target computing engine is determined as a joint processing engine.
For example, referring to fig. 2, a user triggers a data query operation through a BI (Business Intelligence) tool, and generates an SQL statement corresponding to the data query operation based on a unified structured query language standard. The SQL statement may then be sent to the federated query layer of the Database via JDBC (Java Database Connectivity) or REST interface. And then, determining a target calculation engine corresponding to each data source in a plurality of calculation engines preset in the engine layer according to the data source characteristics corresponding to the SQL statement through an engine adaptation module of the federated query layer, and converting the SQL statement into a target data query statement which can be executed by the corresponding target calculation engine based on the data source characteristics. Then, the target data query statement may be sent to the engine layer, and a target computing engine in the engine layer performs data query on a corresponding data source of the data source layer. Finally, the target computing engine may send the target data queried from the data source to any computing engine (i.e., a joint processing engine) in the engine layer, so that the computing engine performs joint processing across data sources, that is, the target data queried by each target computing engine may be associated by a certain computing engine and then returned to the user. Therefore, cross-data source joint query can be supported, and an additional data synchronization task is omitted, so that the data query efficiency is improved.
Additionally, referring to FIG. 2, the federated query layer may also include an optimization module, a management module, a permissions module, and a metadata module. The optimization module can perform unified optimization on the structured query language sentences according to the query characteristics of the structured query language sentences and a preset sentence optimization strategy. The management module may manage a process of submitting the target data query statement to the target computing engine in the data query process, or may also perform processes of log collection, result storage, and the like. The permission module may determine whether an initiating user of the SQL statement has permission to execute the data operation permission corresponding to the SQL statement or may check the correctness of the SQL statement after acquiring the SQL statement determined based on the unified structured query language standard. The metadata module is used for storing data authority information of each user and metadata corresponding to each data source, so that a target calculation engine is better determined. The specific implementation manner of the management module, the permission module and the metadata module in the federal query layer is similar to that of the related art, and is not described herein again.
With continued reference to FIG. 2, the plurality of compute engines of the engine layer pre-set include Spark, Hive, Presto, Flink, ClickHouse, and ElasticSearch. The data source layers include HDFS, RDS, Kafka, ClickHouse, and ElasticSearch. It should be understood that ClickHouse and elastic search are computing storage integrated engines and may therefore be included at the engine level and the data source level.
For example, according to the architecture shown in fig. 2, in an online analytical processing (OLAP) scenario, the data query process may be: and acquiring the SQL sentences determined based on the unified structured query language standard through the JDBC or REST interface. Then, the correctness of the SQL statement is checked through a metadata module of the federal query layer, and whether the user has the authority to query the data to be queried in the SQL statement is determined through an authority module. And then, uniformly optimizing the SQL statement through an optimization module of the federal query layer to obtain an optimized query statement. Then, a target calculation engine can be determined according to the query features of the SQL statements through an engine adaptation module of the federal query layer, and the SQL statements are converted into target data query statements which can be executed by the target calculation engine and then sent to the target calculation engine in the engine layer. Then, the target computing engine may determine an execution policy for the target data query statement according to the optimization capability of its own physical layer, and execute the target data query statement to query data from the corresponding data source according to the execution policy. If the number of the data sources is multiple, the inquired data can be returned to each target for calculation after being inquired, and finally, the federated inquiry layer performs joint processing.
By the mode, data query of multiple engines can be realized, combined query of multiple data sources can also be realized, and the use cost of a user in the data query process can be greatly reduced, so that the data query efficiency is improved.
Based on the same inventive concept, the present disclosure also provides a data query device, which can be part or all of an electronic device through software, hardware or a combination of both. Referring to fig. 3, the data query apparatus 300 may include:
an obtaining module 301, configured to obtain a structured query language statement determined based on a unified structured query language standard;
a first determining module 302, configured to determine a query feature corresponding to the structured query language statement, where the query feature is used to characterize query semantics of the structured query language statement;
a second determining module 303, configured to determine a target computing engine in a plurality of computing engines according to the query feature of the structured query language statement, and convert the structured query language statement into a target data query statement that can be executed by the target computing engine;
a query module 304 for executing the target data query statement by the target computing engine.
Optionally, the first determining module 302 is configured to:
determining complexity characteristics corresponding to the structured query language statement and/or data source characteristics of data to be queried in the structured query language statement;
the second determining module 303 is configured to:
determining a target compute engine among a plurality of compute engines based on the complexity features and/or the data source features of the structured query language statement.
Optionally, the data source of the data to be queried in the structured query language statement includes at least two different data sources, and the second determining module 303 is configured to:
according to the data source characteristics corresponding to the structured query language statements, determining a target computing engine corresponding to each data source in a plurality of computing engines, and converting the structured query language statements into target data query statements which can be executed by the corresponding target computing engines based on the data source characteristics;
the apparatus 300 further comprises:
and the joint module is used for determining any one of the plurality of computing engines as a joint processing engine after the target computing engine executes the target data query statement, sending target data queried by each target computing engine from the corresponding data source through executing the target data query statement to the joint processing engine, and performing joint processing on each target data through the joint processing engine.
Optionally, the second determining module 303 is configured to:
optimizing the structured query language statement according to the query feature of the structured query language statement and a preset statement optimization strategy to obtain an optimized query statement;
determining a target compute engine among a plurality of compute engines according to the optimized query statement.
Optionally, the apparatus 300 further comprises:
the intermediate conversion module is used for selecting an engine from the plurality of calculation engines as a standard engine and converting the structured query language statement into an intermediate query statement based on the format of the structured query language statement which can be processed by the standard engine;
the second determining module 303 is configured to:
determining whether the target compute engine is the standard engine;
and if the target computing engine is not the standard engine, converting the intermediate query statement into a target data query statement which can be executed by the target computing engine.
Optionally, the standard engine is a call engine, the target computing engine is a Spark engine, and the intermediate conversion module is configured to convert a structured query language statement into a RelNode statement based on a data format of the structured query language statement that can be processed by the standard engine;
the second determining module 303 is configured to convert the RelNode statement into a DataFrame statement that can be executed by the target computing engine.
Optionally, the standard engine is a call engine, the target computing engine is a Presto engine, and the intermediate conversion module is configured to convert a structured query language statement into a RelNode statement based on a data format of the structured query language statement that can be processed by the standard engine;
the second determining module 303 is configured to convert the RelNode statement into a structured query language statement that can be executed by the target computing engine.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Based on the same concept, the present disclosure also provides a non-transitory computer-readable storage medium on which a computer program is stored, which, when executed by a processing device, implements the steps of any of the data query methods described above.
Based on the same concept, the present disclosure also provides an electronic device, comprising:
a storage device having a computer program stored thereon;
and the processing device is used for executing the computer program in the storage device so as to realize the steps of any data query method.
Referring now to FIG. 4, a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 4, electronic device 400 may include a processing device (e.g., central processing unit, graphics processor, etc.) 401 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage device 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the electronic apparatus 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Generally, the following devices may be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 408 including, for example, tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device 400 to communicate wirelessly or by wire with other devices to exchange data. While fig. 4 illustrates an electronic device 400 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication device 409, or from the storage device 408, or from the ROM 402. The computer program performs the above-described functions defined in the methods of the embodiments of the present disclosure when executed by the processing device 401.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the communication may be performed using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring a structured query language statement determined based on a unified structured query language standard; determining query features corresponding to the structured query language statement, wherein the query features are used for representing query semantics of the structured query language statement; determining a target computing engine in a plurality of computing engines according to the query features of the structured query language statement, and converting the structured query language statement into a target data query statement executable by the target computing engine; executing, by the target computing engine, the target data query statement.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented by software or hardware. Wherein the name of a module in some cases does not constitute a limitation on the module itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Example 1 provides a data query method according to one or more embodiments of the present disclosure, the method including:
acquiring a structured query language statement determined based on a unified structured query language standard;
determining query features corresponding to the structured query language statement, wherein the query features are used for representing query semantics of the structured query language statement;
determining a target computing engine in a plurality of computing engines according to the query features of the structured query language statement, and converting the structured query language statement into a target data query statement executable by the target computing engine;
executing, by the target computing engine, the target data query statement.
Example 2 provides the method of example 1, the determining query features corresponding to the structured query language statement, including:
determining complexity characteristics corresponding to the structured query language statement and/or data source characteristics of data to be queried in the structured query language statement;
determining, by the computing system, a target computing engine among a plurality of computing engines based on the query features of the structured query language statement, comprising:
determining a target compute engine among a plurality of compute engines based on the complexity features and/or the data source features of the structured query language statement.
Example 3 provides the method of example 1, wherein the data source of the data to be queried in the structured query language statement includes at least two different data sources, and the determining a target computing engine among a plurality of computing engines and converting the structured query language statement into a target data query statement executable by the target computing engine according to the query feature of the structured query language statement comprises:
according to the data source characteristics corresponding to the structured query language statements, determining a target computing engine corresponding to each data source in a plurality of computing engines, and converting the structured query language statements into target data query statements which can be executed by the corresponding target computing engines based on the data source characteristics;
after the target computing engine executes the target data query statement, the method further includes:
determining any of the plurality of compute engines as a joint processing engine;
and sending the target data inquired by each target calculation engine from the corresponding data source through executing the target data inquiry statement to the joint processing engine, and performing joint processing on each target data through the joint processing engine.
Example 4 provides the method of any of examples 1-3, wherein determining a target computing engine among a plurality of computing engines based on the query features of the structured query language statement, comprises:
optimizing the structured query language statement according to the query feature of the structured query language statement and a preset statement optimization strategy to obtain an optimized query statement;
determining a target compute engine among a plurality of compute engines according to the optimized query statement.
Example 5 provides the method of any of examples 1-3, further comprising, in accordance with one or more embodiments of the present disclosure:
selecting an engine from the plurality of computing engines as a standard engine, and converting a structured query language statement into an intermediate query statement based on a format of the structured query language statement that can be processed by the standard engine;
the converting the structured query language statement into a target data query statement executable by the target computing engine comprises:
determining whether the target compute engine is the standard engine;
and if the target computing engine is not the standard engine, converting the intermediate query statement into a target data query statement which can be executed by the target computing engine.
Example 6 provides the method of example 5, the standard engine being a call engine, the target computing engine being a Spark engine, the converting the structured query language statements into intermediate query statements based on a format of the structured query language statements that the standard engine is capable of processing, including:
converting the structured query language statement into a RelNode statement based on a data format of the structured query language statement which can be processed by the standard engine;
the converting the intermediate query statement into a target data query statement executable by the target compute engine includes:
and converting the RelNode statement into a DataFrame statement which can be executed by the target computing engine.
Example 7 provides the method of example 5, wherein the standard engine is a call engine, the target computing engine is a Presto engine, and the converting the structured query language statements into intermediate query statements based on a format of the structured query language statements that the standard engine is capable of processing comprises:
converting the structured query language statement into a RelNode statement based on a data format of the structured query language statement which can be processed by the standard engine;
the converting the intermediate query statement into a target data query statement executable by the target compute engine includes:
and converting the RelNode statement into a structured query language statement which can be executed by the target computing engine.
Example 8 provides, in accordance with one or more embodiments of the present disclosure, a data query apparatus, the apparatus comprising:
the acquisition module is used for acquiring the structured query language sentences determined based on the unified structured query language standard;
a first determining module, configured to determine a query feature corresponding to the structured query language statement, where the query feature is used to characterize query semantics of the structured query language statement;
a second determining module, configured to determine a target computing engine among multiple computing engines according to the query feature of the structured query language statement, and convert the structured query language statement into a target data query statement that can be executed by the target computing engine;
and the query module is used for executing the target data query statement through the target computing engine.
Example 9 provides a non-transitory computer-readable storage medium having stored thereon, a computer program that, when executed by a processing device, implements the steps of the method of any of examples 1-7, in accordance with one or more embodiments of the present disclosure.
Example 10 provides, in accordance with one or more embodiments of the present disclosure, an electronic device comprising:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to carry out the steps of the method of any of examples 1-7.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.

Claims (10)

1. A method for data query, the method comprising:
acquiring a structured query language statement determined based on a unified structured query language standard;
determining query features corresponding to the structured query language statement, wherein the query features are used for representing query semantics of the structured query language statement;
determining a target computing engine in a plurality of computing engines according to the query features of the structured query language statement, and converting the structured query language statement into a target data query statement executable by the target computing engine;
executing, by the target computing engine, the target data query statement.
2. The method of claim 1, wherein determining the query feature corresponding to the structured query language statement comprises:
determining complexity characteristics corresponding to the structured query language statement and/or data source characteristics of data to be queried in the structured query language statement;
determining, by the computing system, a target computing engine among a plurality of computing engines based on the query features of the structured query language statement, comprising:
determining a target compute engine among a plurality of compute engines based on the complexity features and/or the data source features of the structured query language statement.
3. The method of claim 1, wherein the data source of the data to be queried in the structured query language statement comprises at least two different data sources, and wherein determining a target computing engine among a plurality of computing engines according to the query feature of the structured query language statement and converting the structured query language statement into a target data query statement executable by the target computing engine comprises:
according to the data source characteristics corresponding to the structured query language statements, determining a target computing engine corresponding to each data source in a plurality of computing engines, and converting the structured query language statements into target data query statements which can be executed by the corresponding target computing engines based on the data source characteristics;
after the target computing engine executes the target data query statement, the method further includes:
determining any of the plurality of compute engines as a joint processing engine;
and sending the target data inquired by each target calculation engine from the corresponding data source through executing the target data inquiry statement to the joint processing engine, and performing joint processing on each target data through the joint processing engine.
4. The method of any of claims 1-3, wherein determining a target computational engine among a plurality of computational engines based on the query features of the structured query language statement comprises:
optimizing the structured query language statement according to the query feature of the structured query language statement and a preset statement optimization strategy to obtain an optimized query statement;
determining a target compute engine among a plurality of compute engines according to the optimized query statement.
5. The method according to any one of claims 1-3, further comprising:
selecting an engine from the plurality of computing engines as a standard engine, and converting a structured query language statement into an intermediate query statement based on a format of the structured query language statement that can be processed by the standard engine;
the converting the structured query language statement into a target data query statement executable by the target computing engine comprises:
determining whether the target compute engine is the standard engine;
and if the target computing engine is not the standard engine, converting the intermediate query statement into a target data query statement which can be executed by the target computing engine.
6. The method of claim 5, wherein the standard engine is a Call engine and the target computing engine is a Spark engine, and wherein converting the structured query language statements into intermediate query statements based on a format of the structured query language statements that the standard engine is capable of processing comprises:
converting the structured query language statement into a RelNode statement based on a data format of the structured query language statement which can be processed by the standard engine;
the converting the intermediate query statement into a target data query statement executable by the target compute engine includes:
and converting the RelNode statement into a DataFrame statement which can be executed by the target computing engine.
7. The method of claim 5, wherein the standard engine is a Call engine and the target computing engine is a Presto engine, and wherein converting the structured query language statements into intermediate query statements based on a format of the structured query language statements that the standard engine is capable of processing comprises:
converting the structured query language statement into a RelNode statement based on a data format of the structured query language statement which can be processed by the standard engine;
the converting the intermediate query statement into a target data query statement executable by the target compute engine includes:
and converting the RelNode statement into a structured query language statement which can be executed by the target computing engine.
8. A data query apparatus, characterized in that the apparatus comprises:
the acquisition module is used for acquiring the structured query language sentences determined based on the unified structured query language standard;
a first determining module, configured to determine a query feature corresponding to the structured query language statement, where the query feature is used to characterize query semantics of the structured query language statement;
a second determining module, configured to determine a target computing engine among multiple computing engines according to the query feature of the structured query language statement, and convert the structured query language statement into a target data query statement that can be executed by the target computing engine;
and the query module is used for executing the target data query statement through the target computing engine.
9. A non-transitory computer readable storage medium, having stored thereon a computer program, characterized in that the program, when executed by a processing device, implements the steps of the method of any one of claims 1-7.
10. An electronic device, comprising:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to carry out the steps of the method according to any one of claims 1 to 7.
CN202111032755.6A 2021-09-03 2021-09-03 Data query method and device, storage medium and electronic equipment Pending CN113704291A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111032755.6A CN113704291A (en) 2021-09-03 2021-09-03 Data query method and device, storage medium and electronic equipment
PCT/CN2022/109468 WO2023029854A1 (en) 2021-09-03 2022-08-01 Data query method and apparatus, storage medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111032755.6A CN113704291A (en) 2021-09-03 2021-09-03 Data query method and device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN113704291A true CN113704291A (en) 2021-11-26

Family

ID=78659456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111032755.6A Pending CN113704291A (en) 2021-09-03 2021-09-03 Data query method and device, storage medium and electronic equipment

Country Status (2)

Country Link
CN (1) CN113704291A (en)
WO (1) WO2023029854A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357276A (en) * 2021-12-23 2022-04-15 北京百度网讯科技有限公司 Data query method and device, electronic equipment and storage medium
WO2023029854A1 (en) * 2021-09-03 2023-03-09 北京火山引擎科技有限公司 Data query method and apparatus, storage medium, and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633292A (en) * 2019-09-19 2019-12-31 上海依图网络科技有限公司 Query method, device, medium, equipment and system for heterogeneous database
CN111221842A (en) * 2018-11-27 2020-06-02 北京奇虎科技有限公司 Big data processing system and method
CN111309751A (en) * 2018-11-27 2020-06-19 北京奇虎科技有限公司 Big data processing method and device
CN112905620A (en) * 2019-11-19 2021-06-04 北京沃东天骏信息技术有限公司 Data query method and device, electronic equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713248B2 (en) * 2017-07-23 2020-07-14 AtScale, Inc. Query engine selection
CN110399388A (en) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 Data query method, system and equipment
CN111061766A (en) * 2019-11-27 2020-04-24 上海钧正网络科技有限公司 Business data processing method and device, computer equipment and storage medium
CN112699141A (en) * 2020-12-29 2021-04-23 医渡云(北京)技术有限公司 Data query method and device for multi-source heterogeneous data, storage medium and equipment
CN113704291A (en) * 2021-09-03 2021-11-26 北京火山引擎科技有限公司 Data query method and device, storage medium and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221842A (en) * 2018-11-27 2020-06-02 北京奇虎科技有限公司 Big data processing system and method
CN111309751A (en) * 2018-11-27 2020-06-19 北京奇虎科技有限公司 Big data processing method and device
CN110633292A (en) * 2019-09-19 2019-12-31 上海依图网络科技有限公司 Query method, device, medium, equipment and system for heterogeneous database
CN112905620A (en) * 2019-11-19 2021-06-04 北京沃东天骏信息技术有限公司 Data query method and device, electronic equipment and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023029854A1 (en) * 2021-09-03 2023-03-09 北京火山引擎科技有限公司 Data query method and apparatus, storage medium, and electronic device
CN114357276A (en) * 2021-12-23 2022-04-15 北京百度网讯科技有限公司 Data query method and device, electronic equipment and storage medium
WO2023116086A1 (en) * 2021-12-23 2023-06-29 北京百度网讯科技有限公司 Data query method and apparatus, electronic device, and storage medium
CN114357276B (en) * 2021-12-23 2023-08-22 北京百度网讯科技有限公司 Data query method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
WO2023029854A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US10311055B2 (en) Global query hint specification
WO2023029854A1 (en) Data query method and apparatus, storage medium, and electronic device
CN111291103A (en) Interface data analysis method and device, electronic equipment and storage medium
CN109726217B (en) Database operation method, device, equipment and storage medium
CN113485962B (en) Log file storage method, device, equipment and storage medium
CN115168362A (en) Data processing method and device, readable medium and electronic equipment
CN111338944A (en) Remote Procedure Call (RPC) interface test method, device, medium and equipment
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
US11704327B2 (en) Querying distributed databases
CN111241137B (en) Data processing method, device, electronic equipment and storage medium
WO2024001756A1 (en) Data storage method and apparatus, and electronic device and storage medium
CN117312525A (en) Knowledge graph-based question and answer method, device, equipment and storage medium
CN114036107B (en) Medical data query method and device based on hudi snapshot
CN116127143A (en) Data query method, device, electronic equipment and readable storage medium
CN115344688A (en) Business data display method and device, electronic equipment and computer readable medium
CN114969044A (en) Materialized column creating method based on data lake and data query method
CN110879818B (en) Method, device, medium and electronic equipment for acquiring data
CN110941683B (en) Method, device, medium and electronic equipment for acquiring object attribute information in space
CN113971192A (en) Data processing method and device, readable medium and electronic equipment
CN112307061A (en) Method and device for querying data
CN111581930A (en) Online form data processing method and device, electronic equipment and readable medium
CN112445820A (en) Data conversion method and device
CN115994151B (en) Data request changing method, device, electronic equipment and computer readable medium
CN116991818A (en) Log data processing method, device, medium and electronic equipment
CN117931813A (en) Lake bin metadata change determining method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination