4
RONIN: Data Lake Exploration Paul Ouellette University of Rochester [email protected] Aidan Sciortino University of Rochester [email protected] Fatemeh Nargesian University of Rochester [email protected] Bahar Ghadiri Bashardoost University of Toronto [email protected] Erkang Zhu Microsoft Research [email protected] Ken Q. Pu Ontario Tech University [email protected] RenĂ©e J. Miller Northeastern University [email protected] ABSTRACT Dataset discovery can be performed using search (with a query or keywords) to ïŹnd relevant data. However, the result of this discov- ery can be overwhelming to explore. Existing navigation techniques mostly focus on linkage graphs that enable navigation from one data set to another based on similarity or joinability of attributes. However, users often do not know which data set to start the nav- igation from. RONIN proposes an alternative way to navigate by building a hierarchical structure on a collection of data sets: the user navigates between groups of data sets in a hierarchical manner to narrow down to the data of interest. We demonstrate RONIN, a tool that enables user exploration of a data lake by seamlessly integrat- ing the two common modalities of discovery: data set search and navigation of a hierarchical structure. In RONIN, a user can perform a keyword search or joinability search over a data lake, then, navi- gate the result using a hierarchical structure, called an organization, that is created on the ïŹ‚y. While navigating an organization, the user may switch to the search mode, and back to navigation on an organization that is updated based on search. This integration of search and navigation provides great power in allowing users to ïŹnd and explore interesting data in a data lake. PVLDB Reference Format: Paul Ouellette, Aidan Sciortino, Fatemeh Nargesian, Bahar Ghadiri Bashardoost, Erkang Zhu, Ken Q. Pu, and RenĂ©e J. Miller. . PVLDB, 14(12): 2863 - 2866, 2021. doi:10.14778/3476311.3476364 1 INTRODUCTION The sheer number of available data sets has fueled the need for data set discovery [1–3, 7, 8]. Yet, despite this research in data discovery and information retrieval, ïŹnding relevant data sets for a task is still a challenge. Consider the following scenario. Example 1.1. A user wants to ïŹnd data sets about smart city.A search engine, like Google data set search [2], returns more than one hundred data sets for this query that the user has to go through and manually examine for relevance. Similar problems occur with join or This work is licensed under the Creative Commons BY-NC-ND 4.0 International License. Visit https://creativecommons.org/licenses/by-nc-nd/4.0/ to view a copy of this license. For any use beyond those covered by this license, obtain permission by emailing [email protected]. Copyright is held by the owner/author(s). Publication rights licensed to the VLDB Endowment. Proceedings of the VLDB Endowment, Vol. 14, No. 12 ISSN 2150-8097. doi:10.14778/3476311.3476364 union searches, a user may ïŹnd too many data sets that are hard to explore manually. Data set search has been studied as a threshold-based or top- nearest neighbor search problem. The result of this search is often presented to the user in a ïŹ‚at structure, potentially a long list of data sets. Some data portals may provide limited ïŹltering function- alities on metadata ïŹelds. A well-known complementary approach to search is navigation in a linkage graph. The links/edges in a linkage graph indicate relevance (metadata similarity or joinability) of two data sets/attributes. Navigation is done by path traversal in materialized linkage graphs [3] or a chain of searches done on demand [9]. In this model of navigation, users navigate from one data set to another relevant data set. Yet, search and navigation on other forms of data such as products and video contents can be done using directory structures (e.g., Yahoo! and Amazon). In RONIN, we demo an alternative way to navigate by integrating navigation into search. Moreover, RONIN uses organizations, where navigation is done in a hierarchical manner to guide the user to data sets of interest. The root of an organization is the most common and generic topic in a search (query) result. The data sets are located at the most granular levels. Navigating from one topic to a more granular topic means that the user ïŹlters some less interesting data sets from the result. This hierarchy is ïŹrst modeled as a DAG where nodes are sets of data sets and edges indicate the inclusion of data sets of a child in its parents. The nodes are then labeled automatically with relevant topics. Unlike other approaches that provide a single static hierarchy for a data lake [5], RONIN generates organizations on the ïŹ‚y based on user searches. Data set search techniques make sure that the result is relevant to the query (a data set, an attribute, or keywords), and the on-the-ïŹ‚y navigation helps users explore the result, even if it is large. Example 1.2. The eïŹ€ectiveness of keyword search relies heavily on the selected keywords. However, the user may not be familiar with all topics related to smart city, therefore, may not choose an optimal set of query keywords for her needs. For example, data sets about green energy may be found relevant to a smart city query, but the user may not know that. A user searching for smart city would therefore miss the green energy data sets. In RONIN, navigation and search are integrated. An organization provides a hierarchy on the data sets retrieved by a query. Using RONIN, at any time during the navigation of an organization, the user can switch back to the search mode. During navigates, the user can pick a data set and issue a query using its data (for exam- ple, to ïŹnd joinable data sets) or use its metadata to reïŹne query 2863

RONIN: Data Lake Exploration

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RONIN: Data Lake Exploration

RONIN: Data Lake ExplorationPaul Ouellette

University of [email protected]

Aidan SciortinoUniversity of [email protected]

Fatemeh NargesianUniversity of Rochester

[email protected]

Bahar GhadiriBashardoost

University of [email protected]

Erkang ZhuMicrosoft Research

[email protected]

Ken Q. PuOntario Tech [email protected]

RenĂ©e J. MillerNortheastern [email protected]

ABSTRACTDataset discovery can be performed using search (with a query orkeywords) to find relevant data. However, the result of this discov-ery can be overwhelming to explore. Existing navigation techniquesmostly focus on linkage graphs that enable navigation from onedata set to another based on similarity or joinability of attributes.However, users often do not know which data set to start the nav-igation from. RONIN proposes an alternative way to navigate bybuilding a hierarchical structure on a collection of data sets: the usernavigates between groups of data sets in a hierarchical manner tonarrow down to the data of interest. We demonstrate RONIN, a toolthat enables user exploration of a data lake by seamlessly integrat-ing the two common modalities of discovery: data set search andnavigation of a hierarchical structure. In RONIN, a user can performa keyword search or joinability search over a data lake, then, navi-gate the result using a hierarchical structure, called an organization,that is created on the fly. While navigating an organization, theuser may switch to the search mode, and back to navigation on anorganization that is updated based on search. This integration ofsearch and navigation provides great power in allowing users tofind and explore interesting data in a data lake.

PVLDB Reference Format:Paul Ouellette, Aidan Sciortino, Fatemeh Nargesian, Bahar GhadiriBashardoost, Erkang Zhu, Ken Q. Pu, and Renée J. Miller. . PVLDB, 14(12):2863 - 2866, 2021.doi:10.14778/3476311.3476364

1 INTRODUCTIONThe sheer number of available data sets has fueled the need for dataset discovery [1–3, 7, 8]. Yet, despite this research in data discoveryand information retrieval, finding relevant data sets for a task isstill a challenge. Consider the following scenario.

Example 1.1. A user wants to find data sets about smart city. Asearch engine, like Google data set search [2], returns more than onehundred data sets for this query that the user has to go through andmanually examine for relevance. Similar problems occur with join or

This work is licensed under the Creative Commons BY-NC-ND 4.0 InternationalLicense. Visit https://creativecommons.org/licenses/by-nc-nd/4.0/ to view a copy ofthis license. For any use beyond those covered by this license, obtain permission byemailing [email protected]. Copyright is held by the owner/author(s). Publication rightslicensed to the VLDB Endowment.Proceedings of the VLDB Endowment, Vol. 14, No. 12 ISSN 2150-8097.doi:10.14778/3476311.3476364

union searches, a user may find too many data sets that are hard toexplore manually.

Data set search has been studied as a threshold-based or top-𝑘nearest neighbor search problem. The result of this search is oftenpresented to the user in a flat structure, potentially a long list ofdata sets. Some data portals may provide limited filtering function-alities on metadata fields. A well-known complementary approachto search is navigation in a linkage graph. The links/edges in alinkage graph indicate relevance (metadata similarity or joinability)of two data sets/attributes. Navigation is done by path traversalin materialized linkage graphs [3] or a chain of searches done ondemand [9]. In this model of navigation, users navigate from onedata set to another relevant data set. Yet, search and navigation onother forms of data such as products and video contents can bedone using directory structures (e.g., Yahoo! and Amazon).

In RONIN, we demo an alternative way to navigate by integratingnavigation into search. Moreover, RONIN uses organizations, wherenavigation is done in a hierarchical manner to guide the user to datasets of interest. The root of an organization is the most common andgeneric topic in a search (query) result. The data sets are locatedat the most granular levels. Navigating from one topic to a moregranular topic means that the user filters some less interestingdata sets from the result. This hierarchy is first modeled as a DAGwhere nodes are sets of data sets and edges indicate the inclusionof data sets of a child in its parents. The nodes are then labeledautomatically with relevant topics. Unlike other approaches thatprovide a single static hierarchy for a data lake [5], RONIN generatesorganizations on the fly based on user searches. Data set searchtechniques make sure that the result is relevant to the query (a dataset, an attribute, or keywords), and the on-the-fly navigation helpsusers explore the result, even if it is large.

Example 1.2. The effectiveness of keyword search relies heavily onthe selected keywords. However, the user may not be familiar with alltopics related to smart city, therefore, may not choose an optimal setof query keywords for her needs. For example, data sets about greenenergymay be found relevant to a smart city query, but the user maynot know that. A user searching for smart city would therefore missthe green energy data sets.

In RONIN, navigation and search are integrated. An organizationprovides a hierarchy on the data sets retrieved by a query. UsingRONIN, at any time during the navigation of an organization, theuser can switch back to the search mode. During navigates, theuser can pick a data set and issue a query using its data (for exam-ple, to find joinable data sets) or use its metadata to refine query

2863

Page 2: RONIN: Data Lake Exploration

Table 1: Percentage of Data Sets with Metadata Fields.

Name Descrip. Attribution Categories Tags Cat. or Tags

100.0% 82.44% 69.2% 86.02% 70.33% 88.9%

keywords. This is only possible via a set of optimizations to speedup organization construction on the fly.

We demonstrate RONIN, a data lake exploration tool that enablesintegrated search and navigation. The main component of RONIN isan algorithm for constructing an organization on a set of data sets.An effective organization maximizes the expected probability offinding data sets by navigating this organization. RONINmodels nav-igation as a Markov model. The key idea is to view the organizationproblem as combinatorial optimization where we want to find theDAG that maximizes effectiveness. We represent the organizationusing metadata of data sets and adapt our prior work [4] to performan efficient local search on the space of organizations.

In our demonstration scenario, the attendees impersonate a datascientist. They are free to specify their own query topics. The par-ticipants observe first-hand how RONIN efficiently builds a directorystructure on their search result and combines navigation and search.We proceed to discuss related work and how RONIN differs from theprior art (§ 2), provide a solution sketch (§ 3), and conclude with adetailed outline of our demonstration (§ 4).

2 RELATEDWORKOur work relates to data set discovery systems that exploit data val-ues [6, 8], metadata [2] or both [1, 3, 7]. Unlike existing navigationwork that provides a linkage graph where links indicate one-to-onesimilarity or joinability of data sets [3, 9], RONIN enables navigationin a hierarchical structure. Unlike navigating a linkage graph, theuser does not need to know or find a data set as the start point ofnavigation. Navigation in RONIN is exploratory and starts from abroad topic which is the root node. The hierarchical structure ofRONIN is closest to the hand-curated directory structures of Yahoo!on web pages and amazon on products. Previous work studies thegeneration of a static organization on a data lake of thousands ofdata sets [4]. RONIN applies a similar organization and navigationmodel, from which RONIN differs in three aspects. First, unlike adata lake organization, where nodes are represented with attributevalues, RONIN exclusively relies on metadata which is available andclean and additionally results in faster construction time. Second,RONIN organizes the result collection of a search; this collection getsupdated as the user performs various searches. Finally, RONIN buildsand updates organizations on the fly, as the user discovers data sets.The dynamic and efficient generation of an organization facilitatesseamless interaction of search and navigation.

3 SOLUTION SKETCHFigure 1 depicts RONIN’s architecture.Preprocessing RONIN pre-processes a data lake of 40,431 relationaldata sets with 780,921 attributes crawled from the Socrata open dataportal1 by first generating the minhash data sketches of attributevalues using LSH Ensemble2. Then, it extracts metadata fields fromdata sets. The metadata is often available as values for fields: name,1https://dev.socrata.com2https://github.com/ekzhu/lshensemble/

description, categories, attribution, and tags. Table 1 showsthe ratio of data sets that have values for each metadata field. Atotal of 88.9% of the data sets are accompanied by at least one valuein category or tag. Figure 2 shows the distribution of the data setswith values for these two fields. This source of metadata gives us theopportunity to use metadata for search and navigation. RONIN rep-resents each data set with a semantic vector. Given a set of metadatafields M = {𝑚1, . . . ,𝑚𝑘 } for data set đ·đ‘– , the semantic vector of đ·đ‘–

is computed by averaging the word embedding vectors of tokens in𝑚 𝑗 ’s. RONIN uses the pre-trained vectors of fasttext3 which aretrained on the English corpus of Wikipedia. The data sketches andmetadata of data sets are stored into a SQLite database.Data Set Search RONIN supports two existing variations of search:keyword search over metadata and search for joinable data sets.Here, we briefly explain these variations. Similar to the idea of se-mantic vectors, RONIN represents a keyword query with the averagevector of the word embedding of query tokens. Then, it returnstop-𝑘 data sets with semantic vectors similar to the query vector.To speed up the search, upon server startup, we index vectors ina faiss index4 that we later use to pose top-𝑘 similarity queries.The profile of a data set enables searching for joinable data setswith any of its attributes. RONIN incorporates LSH Ensemble whichuses set containment as the measure of joinability and enables highprecision containment search over attributes [8].

Keyword search in metadata [2] or joinability/unionabilitysearch [6, 8], particularly in a threshold-based paradigm, can resultin an arbitrary number of data sets. For a given collection of datasets, L = {đ·1, . . . , đ·đ‘›}, RONIN constructs a hierarchical structurefor effective navigation. This structure is constructed using theprevious model proposed for navigating data lake attributes [4].

3.1 Navigation in an OrganizationAn organization is a DAGwith nodes that represent sets of data sets.An edge indicates that the data sets in a parent node form a supersetof the data sets in a child node. A user finds a data set by traversing apath from a root node to the leaf that contains the data set. To makean organization readable for users, each node is annotated withdescriptive text. Each data set đ·đ‘– ∈ L has a set of metadata valuesthat we call a domain and denote by dom(đ·đ‘– ). For an organizationO = (𝑉 , 𝐾), let ch(.) be the child relation mapping a node to itschildren, and par(.) be the parent relation mapping a node to itsparents. Each node 𝑠 corresponds to a set of data sets D𝑠 ⊆ L.For a leaf node 𝑠 , the cardinality of D𝑠 is one. If 𝑐 ∈ 𝑐ℎ(𝑠), thenD𝑐 ⊆ D𝑠 , we call this the inclusion property, and D𝑠 =

â‹ƒïžđ‘âˆˆđ‘â„Ž (𝑠) đ·đ‘ .

We denote the domain of a node 𝑠 by dom(𝑠) which is dom(D𝑠 )when 𝑠 is a leaf node and

â‹ƒïžđ·đ‘– ∈D𝑠 dom(đ·đ‘– ) otherwise.

RONIN represents the domain of a data set with its semantic vec-tor. The domain of a node is similarly computed by aggregating theembedding vectors of the metadata fields of its data sets. Alterna-tively, a data set (and a node) can be represented by the set of wordembedding vectors instead of an aggregated vector. The similaritycan then be calculated as the average similarity of pairs of vectors.In this demo, we implement the former representation.

3https://github.com/facebookresearch/fastText4https://github.com/facebookresearch/faiss

2864

Page 3: RONIN: Data Lake Exploration

Open Data Lake(dataset and

metadata files)

Metadata Extraction & Vectorization

Crawler

Metadata Vectors& Data SketchesPreprocessing

OrganizationData sets

LSHEnsemble

OrganizationConstruction [4]

Keyword Search

LSH Indexes

Data Sketch Library

Dataset Search

Query

Join/UnionSearch [5,7]

Navigation

Figure 1: The RONIN Architecture. Figure 2: Metadata Distribution in Data Lake.

0.1

1

10

100

1000

10000

50100 250 500 750

CreationTim

e(s)

Number of Datasets

Creation Time

Figure 3: Construction Time.

Navigation Model Previous work models a user’s experience dur-ing navigation in an organization as a Markov model where statesare nodes and transitions are edges [4]. Suppose the user has aquery topic 𝑋 in mind and, for now, suppose there is a way ofmodeling𝑋 with a semantic vector. Starting at the root node, a usernavigates through sets of data sets by following edges. Because ofthe inclusion property, each transition filters some of the data sets.The navigation stops once the user reaches a leaf node. The proba-bility of a user’s transition from state 𝑠 to 𝑐 ∈ ch(𝑠) is determinedby the similarity between 𝑋 and the state 𝑐 . Since semantic vectorsare constructed on word embedding vectors, we use the commoncosine similarity measure. The transition probability function from

𝑠 to 𝑐 is 𝑃 (𝑐 |𝑠, 𝑋,O) = 𝑒

đ›Ÿ

| ch(𝑠 ) | .cosine(𝑐,𝑋 )âˆ‘ïžđ‘Ąâˆˆđ‘â„Ž (𝑠 ) 𝑒

đ›Ÿ

| ch(𝑠 ) | .cosine(𝑡,𝑋 ). The constant đ›Ÿ is

hyper parameter with a strictly positive number. The term | ch(𝑠) |is to penalize having nodes with too many children. Plugging in thistransition funtion into markov model, the probability of reachingstate 𝑠𝑘 through a discovery sequence 𝑟 = 𝑠1, . . . , 𝑠𝑘 , while search-ing for𝑋 is 𝑃 (𝑠𝑘 |𝑟, 𝑋,O) = âˆïžđ‘˜

𝑖=1 𝑃 (𝑠𝑖 |𝑠𝑖−1, 𝑋,O). Since O is a DAG,the probability of reaching a state 𝑠 in O while searching for 𝑋 is𝑃 (𝑠 |𝑋,O) = ∑

𝑟 ∈𝑝𝑎𝑡ℎ𝑠 (𝑠) 𝑃 (𝑠 |𝑟, 𝑋,O), where 𝑝𝑎𝑡ℎ𝑠 (𝑠) is the set ofall paths in O that reach 𝑠 from the root. Note that this model natu-rally penalizes long paths. A data set is found when the navigationreaches the leaf node that contains that data set.

Given an organization O defined on L, the effectiveness of O isthe expected probability of finding a data set in L while navigatingO, defined as eff(O) = ∑

đ·đ‘– ∈L 𝑞𝑖 . 𝑃 (đ·đ‘– |O), where 𝑃 (đ·đ‘– |O) is theprobability of reaching the leaf node containing data set đ·đ‘– whilesearching forđ·đ‘– , i.e.𝑋 =đ·đ‘– , and 𝑞𝑖 is the probability or significanceof đ·đ‘– . Currently, RONIN assumes a uniform distribution for 𝑞. Asthe user search history becomes available, we can learn 𝑞. Given L,our goal is to find an organization with the highest effectiveness.

3.2 Organization ConstructionFinding an organizationwith optimal effectiveness requires a searchin the powerset lattice of all data sets, while computing the effec-tiveness of each candidate organization. Note that calculating theeffectiveness requires traversing all paths and calculating the reach-ability probability for each data set; this has complexity in the sizeof graph. An organization on 𝑛 data sets can have as many as 2𝑛 − 1nodes. To solve the combinatorial optimization of finding the most

effective organization, previous work proposes a local search algo-rithm that starts from an initial DAG with nodes as subsets of datasets that satisfies the inclusion property. And, it iteratively enhancesthe effectiveness by changing the structure of the DAG [4].

For an initial organization, RONIN generates an agglomerativehierarchical clustering on the semantic vectors of data sets. This isa deep tree structure with a branching factor of two. The algorithmstarts by defining a node for each data set. At each iteration, thealgorithm finds the most similar pair of nodes and creates a newnode as their parent. This guarantees that the final tree satisfies theinclusion property. The semantic vector of a node is computed byaggregating its children. The number of similarity computations tobuild an initial organization is in the order of O(𝑛2). RONIN lever-ages the nearest neighbor search index of faiss to speed up findingthe next pair of nodes to merge.

Then, RONIN iteratively changes the organization by intelligentlyremoving nodes and adding edges. RONIN traverses the DAG in abottom-up fashion and at each level (depth of the DAG) picks a nodewith the smallest reachability probability. The reachability of thenode can be improved by either adding an edge between an upperlevel node and the node (increasing the number of paths leading tothe node) or eliminating the node and assigning its children to itsparents (decreasing path lengths in the DAG). RONIN makes thesechanges while guaranteeing the inclusion property and updatingthe node vectors. Both changes may or may not increase the ef-fectiveness. For instance, adding a new parent increases the pathlengths, and eliminating a node increases the branching factors,both have the potential of reducing the effectiveness. RONIN onlyaccepts the change if it leads to a DAG with higher effectiveness.The complexity of the calculation of effectiveness is in the size ofDAG. For future work, we plan to implement an incremental wayof evaluating the effectiveness by exclusively recomputing reach-ability probability for the subset of nodes affected by the change.In our implementation, this process is terminated when the effec-tiveness of the organization has plateaued (changed less than 1e−9)for đ›œ.|L| or the algorithm has made 𝛿.|L| updates, where đ›œ = 14and 𝛿 = 2000, i.e. stricter condition for larger organizations. Ourimplementation is in gonum library for the vast majority of compu-tations, including its implementation of the BLAS specification forvector computations, as well as graph traversal.

Figure 3 shows the average construction time of organizationswith various number of data sets. This plot considers 30 random

2865

Page 4: RONIN: Data Lake Exploration

Figure 4: The RONIN demo: 1) the user performs a keyword search, 2) the user navigates an organization of the results to reacha data set of interest, 3) the user performs a similarity search using this data set as a query, selects another data set, and findsjoinable data sets with it, 4) the user navigates the updated organization on joinable search results.

queries. For each value 𝑛 in the x-axis (number of data sets), weconsider 𝑛 similar data sets returned by RONIN for each query. Notethat the x-axis is the number of leaf nodes. In fact, the numberof nodes of the initial organization is exponential in 𝑛. RONIN iscurrently interactive for result sets containing 100 data sets, whichindicates a large enough result set presented by existing searchengines [2]. This experiment is conducted on an Intel Xeon @ 2.30GHz with 512Gb of memory.

To make an organization human-readable, RONIN annotates eachnode with a descriptive label. RONIN considers the collection ofall values for the categories metadata field as possible labels.The number of considered labels is 978. As shown in Table 1, thecategories are prevalent in the data lake. Each label is expressedwith a semantic vector. RONIN traverses an organization in breadth-first manner and annotates a node with the non-duplicate label thathas the highest cosine similarity to the node. To perform an efficientsimilar label search, in our implementation, we leverage the faissindex on the vector of all labels. It is also possible to consider othersources of labels such as Wikipedia categories. An alternative wayof annotating a node is topic modeling of the data sets in the node.

4 DEMONSTRATION DESCRIPTIONWe demonstrate RONIN on a crawl of approximately 40K data setsfrom Socrata API. We describe user activities in four steps (Figure 4).Step 1: keyword search The user performs a keyword search.RONIN displays all of the relevant data sets to the keyword and alink to an organization that is constructed on the result on the fly.In our screenshot, the user first enters the keyword smart city.Step 2: navigation in organization Instead of manually examin-ing the list of result data sets, the user starts the navigation fromthe root node of the organization until reaching data sets of interest.In our screenshot, the user starts from root smart city and nav-igates to the node city infrastructure. Since the user is techsavvy, the user chooses to finally navigate to the node internetconnectivity that contains data sets internet master plan andbroadband adoption and infrastructure by zip code.Step 3: data set search At any time during navigation, the usercan switch to the search mode using a data set or a keyword as a

query. For example, the user may choose to perform a search usingthe new keyword internet connectivity or perform a similaritysearch on the data sets of a node. In our screenshot, the user re-quests RONIN for similar data sets to broadband adoption by zipcode. Among the result, the user finds broadband adoption andinfrastructure by council district. The search continuesby a request for joinable data sets with one of the attributes of thisdata set. This is particularly interesting as the user may now finddata sets that were not in the results of the original search.Step 4: updating organization The user can now navigate the or-ganization of the joinability search result or choose a new keywordto search with from.Demonstration engagement In addition to our guided demonstra-tion, participants can request for results of their data set search.Moreover, they can navigate the organizations of their search result.

ACKNOWLEDGMENTSThis research is supported in part by NSF 1717877 and 2107050.

REFERENCES[1] Alex Bogatu, Alvaro A. A. Fernandes, Norman W. Paton, and Nikolaos Konstanti-

nou. 2020. Dataset Discovery in Data Lakes. In ICDE. 709–720.[2] Dan Brickley, Matthew Burgess, and Natasha F. Noy. 2019. Google Dataset Search:

Building a search engine for datasets in an open Web ecosystem. In WWW. 1365–1375.

[3] Raul Castro Fernandez, Dong Deng, Essam Mansour, Abdulhakim Ali Qahtan,Wenbo Tao, Ziawasch Abedjan, Ahmed K. Elmagarmid, Ihab F. Ilyas, SamuelMadden, Mourad Ouzzani, Michael Stonebraker, and Nan Tang. 2017. A Demo ofthe Data Civilizer System. In SIGMOD. 1639–1642.

[4] Fatemeh Nargesian, Ken Q. Pu, Erkang Zhu, Bahar Ghadiri Bashardoost, andRenĂ©e J. Miller. 2020. Organizing Data Lakes for Navigation. In SIGMOD. 1939–1950.

[5] FatemehNargesian, Erkang Zhu, RenĂ©e J. Miller, KenQ. Pu, and Patricia C. Arocena.2019. Data Lake Management: Challenges and Opportunities. PVLDB 12, 12 (2019),1986–1989.

[6] Fatemeh Nargesian, Erkang Zhu, Ken Q. Pu, and RenĂ©e J. Miller. 2018. Table UnionSearch on Open Data. PVLDB 11, 7 (2018), 813–825.

[7] Yi Zhang and Zachary G. Ives. 2020. Finding Related Tables in Data Lakes forInteractive Data Science. In SIGMOD. 1951–1966.

[8] Erkang Zhu, Fatemeh Nargesian, Ken Q. Pu, and RenĂ©e J. Miller. 2016. LSHEnsemble: Internet-Scale Domain Search. PVLDB 9, 12 (2016), 1185–1196.

[9] Erkang Zhu, Ken Q. Pu, Fatemeh Nargesian, and RenĂ©e J. Miller. 2017. InteractiveNavigation of Open Data Linkages. PVLDB 10, 12 (2017), 1837–1840.

2866