# US 12,001,447 B2 · Techniques for unifying ETL filter operators

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,447 B2
- Document ID: US12001447B2
- Status: Granted
- Kind: B2
- Application number: 18/081,194
- Filed: 2022-12-14
- Published: 2023-04-13
- Granted: 2024-06-04
- Earliest claimed: 2020-10-26
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Hanumath Rao Maduri
- Web page: https://patentgrep.com/patent/US12001447B2

## CPC

- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/24542: {Plan optimisation}
- G06F 16/24554: {Unary operations; Data partitioning operations}
- G06F 16/287: {Visualization; Browsing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are provided for unifying filter operators in exchange, transform, load (ETL) plans. Such a technique includes a method that may include receiving, by a computer system, an ETL plan including a split operator and a plurality of filter operators. The may include identifying, by the computer system, that the plurality of filter operators are configured to act on data output by the split operator in the ETL plan. The method may include generating, by the computer system, a unified filter operator using the plurality of filter operators. The method may include generating, by the computer system, an updated ETL plan comprising the unified filter operator providing filtered data to the split operator. The method may also include storing the updated ETL plan in a data store.

## Claims

### Claim 1

A method, comprising:
receiving, by a computer system, an extract, transform, load (ETL) plan comprising a primary split operator and a plurality of primary filter operators, wherein a data pipeline of a plurality of primary data pipelines comprises a secondary split operator of a plurality of secondary data pipelines configured to act on data output by the primary split operator, and wherein the ETL plan further comprises the plurality of secondary data pipelines output by the secondary split operator;
in response to the receiving the ETL plan:
identifying, by the computer system, that the plurality of primary filter operators that are configured to act on the data output by the primary split operator in the extract, transform, load plan;
automatically generating, by the computer system, a primary unified filter operator using the plurality of primary filter operators;
generating, by the computer system based on the received ETL plan and the data pipeline, an updated extract, transform, load plan comprising the primary unified filter operator providing filtered data to the primary split operator;
providing, by the computer system, the updated ETL plan to a client device via a network; and
storing the updated extract, transform, load plan in a data store of the client device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the extract, transform, load plan further comprises a plurality of data pipelines following the primary split operator, the plurality of data pipelines having at least one filter operator of the plurality of primary filter operators on each data pipeline.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the extract, transform, load plan further comprises a plurality of secondary filter operators, the plurality of secondary data pipelines having at least one secondary filter operator on each secondary data pipeline of the plurality of secondary data pipelines.

### Claim 4 (depends on 2)

The method of claim 2, wherein:
generating the primary unified filter operator comprises:
generating a secondary unified filter operator using the plurality of secondary filter operators; and
generating the primary unified filter operator using the secondary unified filter operator and the plurality of primary filter operators.

### Claim 5 (depends on 1)

The method of claim 1, wherein the primary unified filter operator comprises a first condition of a first filter operator of the plurality of primary filter operators joined by unifier logic with a second condition of a second filter operator of the plurality of primary filter operators, wherein the unifier logic comprises an OR operator.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the primary unified filter operator implements a portion of a filter operation of a filter operator of the plurality of primary filter operators; and
the extract, transform, load plan comprises a residual filter operator acting on data output by the primary split operator in the extract, transform, load plan, the residual filter operator and the unified filter operator together effecting the filter operation.

### Claim 7 (depends on 1)

The method of claim 1, wherein the extract, transform, load plan further comprises a transform operator between the primary split operator and a filter operator of the plurality of primary filter operators, the method further comprising: excluding the filter operator from the unified filter operator.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
presenting, by the computer system, the updated extract, transform, load plan via a user interface.

### Claim 9

A computer system, comprising
one or more processors;
a memory in communication with the one or more processors, the memory configured to store computer-executable instructions, wherein executing the computer-executable instructions causes the one or more processors to perform steps comprising:
receiving an extract, transform, load (ETL) plan comprising a primary split operator and a plurality of primary filter operators, wherein a data pipeline of a plurality of primary data pipelines comprises a secondary split operator of a plurality of secondary data pipelines configured to act on data output by the primary split operator, and wherein the ETL plan further comprises the plurality of secondary data pipelines output by the secondary split operator;
in response to the receiving the ETL plan:
identifying the plurality of primary filter operators that are configured to act on the data output by the primary split operator in the extract, transform, load plan;
automatically generating a primary unified filter operator using the plurality of primary filter operators;
generating, based on the received ETL plan and the data pipeline, an updated extract, transform, load plan comprising the primary unified filter operator providing filtered data to the primary split operator;
providing the updated ETL plan to a client device via a network; and
storing the updated extract, transform, load plan in a data store of the client device.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein the extract, transform, load plan further comprises a plurality of data pipelines following the primary split operator, the plurality of data pipelines having at least one filter operator of the plurality of primary filter operators on each data pipeline.

### Claim 11 (depends on 9)

The computer system of claim 9, wherein the unified filter operator comprises a first condition of a first filter operator of the plurality of primary filter operators joined by unifier logic with a second condition of a second filter operator of the plurality of primary filter operators, wherein the unifier logic comprises an OR operator.

### Claim 12 (depends on 9)

The computer system of claim 9, wherein the unified filter operator implements a portion of a filter operation of a filter operator of the plurality of primary filter operators; and
the extract, transform, load plan comprises a residual filter operator acting on data output by the primary split operator in the extract, transform, load plan, the residual filter operator and the unified filter operator together effecting the filter operation.

### Claim 13 (depends on 9)

The computer system of claim 9, wherein the extract, transform, load plan further comprises a transform operator between the primary split operator and a filter operator of the plurality of primary filter operators, and wherein the computer-executable instructions, when executed, further cause the one or more processors of the computer system to perform steps comprising: excluding the filter operator from the unified filter operator.

### Claim 14 (depends on 9)

The computer system of claim 9, wherein the computer-executable instructions, when executed, further cause the one or more processors of the computer system to perform steps comprising:
presenting, by the computer system, the updated extract, transform, load plan via a user interface.

### Claim 15

A non-transitory computer-readable storage medium, storing computer-executable instructions that, when executed, cause one or more processors of a computer system to perform steps comprising:
receiving, by a computer system, an extract, transform, load (ETL) plan comprising a primary split operator and a plurality of primary filter operators, wherein a data pipeline of a plurality of primary data pipelines comprises a secondary split operator of a plurality of secondary data pipelines configured to act on data output by the primary split operator, and wherein the ETL plan further comprises the plurality of secondary data pipelines output by the secondary split operator;
in response to the receiving the ETL plan:
identifying, by the computer system, the plurality of primary filter operators that are configured to act on the data output by the primary split operator in the extract, transform, load plan;
automatically generating, by the computer system, a primary unified filter operator using the plurality of primary filter operators;
generating, by the computer system based on the received ETL plan and the data pipeline, an updated extract, transform, load plan comprising the primary unified filter operator providing filtered data to the primary split operator;
providing, by the computer system, the updated ETL plan to a client device via a network; and
storing the updated extract, transform, load plan in a data store of the client device.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the extract, transform, load plan further comprises a plurality of data pipelines following the primary split operator, the plurality of data pipelines having at least one filter operator of the plurality of primary filter operators on each data pipeline.

### Claim 17 (depends on 15)

The computer-readable storage medium of claim 15, wherein the unified filter operator comprises a first condition of a first filter operator of the plurality of primary filter operators joined by unifier logic with a second condition of a second filter operator of the plurality of primary filter operators, wherein the unifier logic comprises an OR operator.

### Claim 18 (depends on 15)

The computer-readable storage medium of claim 15, wherein the unified filter operator implements a portion of a filter operation of a filter operator of the plurality of primary filter operators; and
the extract, transform, load plan comprises a residual filter operator acting on data output by the primary split operator in the extract, transform, load plan, the residual filter operator and the unified filter operator together effecting the filter operation.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, wherein the extract, transform, load plan further comprises a transform operator between the primary split operator and a filter operator of the plurality of primary filter operators, and wherein the computer-executable instructions, when executed, further cause the one or more processors of the computer system to perform steps comprising: excluding the filter operator from the unified filter operator.
