IP Library Granted Patent US 11,487,708
Granted Patent B1
US 11,487,708 · App. 17/095,360 · Granted Nov 1, 2022

Interactive visual data preparation service

Inventors: Surbhi Dangi (Mountain View, CA); Gopinath Duddi (San Jose, CA); Amit Gul Phagwani (Fremont, CA); Romi Boimer (Newark, CA); Ronald Stephen Kyker (Foster City, CA)
Assignee: Amazon Technologies, Inc.
G06F16/156G06F16/248G06F17/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,487,708
App. No.
17/095,360
Granted
Nov 1, 2022
Kind
B1
Abstract

Techniques for visual data preparation are described. An interactive visual data preparation service provides a user with a graphical user interface that presents values from a sample taken of a dataset along with statistical information associated with those values. A user uses the graphical user interface to test out various transformations to the sample dataset by applying transformations and viewing near-immediate results of those transformations as applied to the sample. The desired set of transformations is represented as a recipe object, which can be used to perform data preparation against the overall dataset or other datasets on behalf of the user or other users.

Claims (71)

1. A computer-implemented method comprising:

receiving a first request to create a source dataset, the first request including an identifier of a dataset stored at a storage location within a service provider network;

receiving a second request to create a project, the second request including an identifier of the source dataset;

obtaining a sample dataset from a source dataset, wherein the sample dataset includes less than all of the source dataset;

generating a first statistical profile of the sample dataset;

generating a second statistical profile of the source dataset;

transmitting data to a client device to cause a user interface to present a view of at least some of the sample dataset and summary data based on the first statistical profile;

transmitting data to the client device to cause the user interface to present a view of summary data based on the second statistical profile;

receiving a message originated by the client device indicating a request to apply a transformation to the sample dataset;

applying the transformation to the sample dataset;

transmitting data to the client device to cause the view of the user interface to be updated to reflect the application of the transformation to the sample dataset;

updating a recipe object, in a data structure, to include an identifier of the transformation;

receiving a third request to create a job, the third request including an identifier of another source dataset; and

executing the job, based on use of the recipe object and the another source dataset, to yield an output dataset.

2. The computer-implemented method of claim 1 , wherein the executing of the job occurs responsive to a trigger specified by a user.

3. The computer-implemented method of claim 1 , further comprising:

transmitting data to the client device to cause the user interface to be updated to show an identifier of the output dataset, an identifier of the job, an identifier of the recipe object, and one or more identifiers of one or more transformations associated with the recipe object.

4. A computer-implemented method comprising:

generating a first statistical profile of a sample taken from a source dataset and a second statistical profile of the source dataset;

transmitting data to a client device to cause a first user interface provided by the client device to present a view of at least some of the sample dataset and summary data based on the first statistical profile;

transmitting data to the client device to cause a second user interface provided by the client device to present a view of summary data based on the second statistical profile;

receiving a message originated by the client device indicating a request to apply a transformation to the sample dataset;

transmitting data to the client device to cause the view of the first user interface to be updated to reflect an application of the transformation to the sample dataset;

updating a recipe object, in a data structure, to include an identifier of the transformation; and

executing a job, based on the recipe object, with the entire source dataset to yield an output dataset.

5. The computer-implemented method of claim 4 , further comprising:

executing a second job, based on the recipe object, with a second source dataset that is different than the source dataset.

6. The computer-implemented method of claim 5 , wherein the executing of the second job occurs responsive to a trigger specified by a user.

7. The computer-implemented method of claim 6 , wherein the user that specified the trigger is different than another user that provided, owns, or controls the source dataset.

8. The computer-implemented method of claim 5 , further comprising:

identifying the source dataset based on a user-specified value; and

identifying the second source dataset based on the same user-specified value.

9. The computer-implemented method of claim 4 , wherein the summary data based on the first statistical profile includes one or more of:

an indication, for at least a column of the sample dataset, of data quality of the values of the column; or

an indication, for at least a column of the sample dataset, of a distribution of the values of the column.

10. The computer-implemented method of claim 4 , further comprising:

transmitting data to the client device to cause the first user interface to be updated to show an identifier of the output dataset, an identifier of the job, an identifier of the recipe object, and one or more identifiers of one or more transformations associated with the recipe object.

11. The computer-implemented method of claim 4 , wherein the view provided by the first user interface further includes at least some of a second sample dataset taken from a second source dataset.

12. The computer-implemented method of claim 4 , further comprising:

compressing or encrypting the output dataset to yield a modified output dataset; and

storing the modified output dataset to an output location.

13. The computer-implemented method of claim 4 , further comprising:

receiving another message originated by the client device indicating a request to create the job, wherein the request includes an identifier of an output location where the output dataset is to be stored; and

storing the output dataset to the output location.

14. The computer-implemented method of claim 13 , wherein the request to create the job further specifies a schedule indicating when the job is to be run, and wherein the method further comprises executing the job a plurality of times according to the schedule.

15. The computer-implemented method of claim 4 , further comprising:

receiving another message originated by another client device indicating a request to create a second job based on the recipe object, wherein the another message includes an identifier of a second source dataset; and

executing the second job, based on the recipe object, with the second source dataset to yield a second output dataset.

16. The computer-implemented method of claim 4 , wherein:

the source dataset is obtained from a storage service of a service provider network;

the message originated by the client device indicating a request to apply a transformation to the sample dataset is received at a web-service endpoint of the service provider network; and

executing the job includes utilizing a cluster of data processing nodes within the service provider network.

17. A system comprising:

a first one or more electronic devices to implement a storage service in a multi-tenant provider network, the storage service to store a source dataset; and

a second one or more electronic devices to implement an interactive visual data preparation service in the multi-tenant provider network, the interactive visual data preparation service including instructions that upon execution cause the interactive visual data preparation service to:

obtain a sample dataset from the source dataset, wherein the sample dataset includes less than all of the source dataset;

transmit data to a client device to cause a user interface provided by the client device to present a view of at least some of the sample dataset and summary data based on portions of the sample dataset;

transmit data to the client device to cause the user interface to present a view of summary data based on the entire source dataset;

receive a message originated by the client device indicating a request to apply a transformation to the sample dataset;

transmit data to the client device to cause the view of the user interface to be updated to reflect an application of the transformation to the sample dataset;

update a recipe object, in a data structure, to include an identifier of the transformation; and

execute a job, based on the recipe object, with the entire source dataset to yield an output dataset.

18. The system of claim 17 , wherein the interactive visual data preparation service further includes instructions that upon execution cause the interactive visual data preparation service to:

execute a second job, based on the recipe object, with a second source dataset that is different than the source dataset.

19. The system of claim 17 , wherein the interactive visual data preparation service further includes instructions that upon execution cause the interactive visual data preparation service to:

receive another message originated by the client device indicating a request to create the job, wherein the request includes an identifier of an output location where the output dataset is to be stored, wherein the output location comprises an object storage location provided by the storage service; and

store the output dataset to the object storage location.

20. The system of claim 17 , wherein the application of the transformation comprises at least one of:

modifying one or more values of a column of the sample dataset;

inserting one or more additional columns of values into the sample dataset based on values of an existing column of the sample dataset; or

removing one or more rows of the sample dataset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2020
From: DANGI, SURBHI; DUDDI, GOPINATH; PHAGWANI, AMIT GUL; BOIMER, ROMI; KYKER, RONALD STEPHEN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 054349/0636 →
Cited By (5)
US 12,197,968 US 12,470,401 US 12,532,163 US 12,587,365 US 12,596,735