<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Methods for Big Data Integration in Distributed Computation Environments</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Proceedings of the XX International Conference “Data Analytics and Management in Data Intensive Domains” (DAMDID/RCDL'2018)</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vladimir V. Sazontev Lomonosov Moscow State University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>238</fpage>
      <lpage>244</lpage>
      <abstract>
        <p>One of the main challenges in data integration is to create an extensible end-to-end system, which will perform not only extraction, but also schema alignment and entity resolution techniques. This is even more challenging in a world of the big data, when we have to deal with the large number of heterogeneous data sources. In this case the system has to be automatic and less user depended. This paper aims to overview and analyze the modern approaches and systems to successfully perform big data integration. This work is performed as a master thesis, which is aimed to propose an architecture of the system to perform integration of heterogenous sources in a distributed computation environment, implement and apply it to a real-world problem of e-commerce domain as a part of master thesis.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>The Web contains ever-increasing massive amount of
heterogenous data sources which can consist of structured
and unstructured data. Data integration systems aim to
integrate massive amount of the sources, but they are still
limited to the human resource that is needed to perform
data source selection, to develop rules to perform schema
alignment and to resolve entities. Some applications
provide very good results in automation of these processes
in a limited scope of the problem, but their design does not
allow performing end-to-end data integration and being
extensible.</p>
      <p>Data integration is a complex problem, that
traditionally consists of three steps: schema alignment,
record linkage and data fusion. Each of these steps even
harder to perform for the big data integration, because of
volume, velocity, veracity and variety of the data and
heterogenous sources. The schema alignment aspects are
addressed by implementing probabilistic schemas and
mappings, profiling and scoring the sources. The record
linkage problem is addressed by implementing
incremental updates, by using blocking function,
combinations of blocking functions and meta blocking,
and by implementation of smart crowdsourcing system, by
considering time in attribute changes of the entity and
applying tagging algorithm to extract additional data from
unstructured and semi-structured data. The data fusion
step is addressed not only by user defined function, but
also with algorithms that detect data copies. Traditionally
to resolve the ambiguity on each step, involvement of
experienced user required, but for big data integration
systems the aim is to automate this work using different
techniques. Enterprise data integration systems in general
provide us with end-to-end solution, they lack automation
in the field of entity resolution and data fusion. The
research systems have a wide variety of automation
attempts, but in general do not provide end-to-end
solutions and are good only for some specific problem.</p>
      <p>Last but not least important feature of a modern big
data integration system is the distributed computation
environment, such as Hadoop or Ignite, which is crucial
due to the volume and velocity of sources and data.
Different computational models implemented over
mentioned environments like Spark and MapReduce can
be applied.</p>
      <p>This paper aims to overview and analyze the modern
approaches and systems to successfully perform big data
integration. This work is performed as a master thesis,
which is aimed to propose an architecture of the system to
perform integration of heterogenous sources in a
distributed computation environment, implement and
apply it to a real-world problem of e-commerce domain as
a part of master thesis. In this paper the related work and
architecture are analyzed and overviewed and the current
progress of implementation is reported. As future work the
proposed list of the methods and approaches is planned to
be thoroughly implemented.</p>
      <p>In section 2 some of modern methods and approaches
to address various aspects of big data integration problem
are outlined. In section 3 enterprise and research data
integration systems in which approaches from section 2
are implemented are compared. In section 4 the
architecture and various design choices are described. In
section 5 the implementation of the architecture to the
realworld problem and the current progress is described.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Methods Supporting Different Aspects of</title>
    </sec>
    <sec id="sec-3">
      <title>Big Data Integration</title>
      <sec id="sec-3-1">
        <title>2.1 Schema Alignment</title>
        <p>One of the major steps in data integration is schema
alignment. This step traditionally consists of developing a
mediated schema, attribute matching and schema
mapping. A mediated schema is created to provide a
unified view of the heterogeneous sources. Then attributes
in each source schema are matched to the corresponding
attributes in the mediated schema. A schema mapping is
built between each source schema and the mediated
schema, it specifies the semantic relationships between the
contents of different data sources and is used to
reformulate a query on the mediated schema into a set of
queries on the underlying data sources.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2.1.1 Probabilistic Schemas and Mappings</title>
        <p>
          The probabilistic mediated schema [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] can be thought of
as a “clustering” of source attributes. Similar attributes of
sources are grouped into the same cluster - mediated
attribute. The probabilistic schema mapping [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] allows us
to describe a probability distribution of a set of possible
schema mappings between a source schema and a target
schema. Both methods work the best in combination in
pay-as-you-go approach, which addresses the variety and
velocity problem of big data integration at schema
alignment step. Given a query, this combination generates
best-effort or approximate answers from data sources
where perfect schema mappings do not exist and directs
which schema is worth integrating manually.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] the combination of probabilistic mediated
schema and probabilistic schema mapping is evaluated on
web tables crawled in five domains, where each domain
contains 50–800 web tables (i.e., data sources). The
methods obtained an F-measure over 0.9 in query
answering on every domain comparing with an integration
system where schema mappings are manually specified.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>2.1.2 Source Scoring - Evaluate Sources Before</title>
      </sec>
      <sec id="sec-3-4">
        <title>Alignment</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] it is shown that using several real-world data sets is
not always worth integrating all available sources. For
example, integrating new sources may not increase the
coverage significantly, while the total cost will increase.
Even worse, some low-quality data sources can even affect
the accuracy of integrated data negatively, while still
adding to the total cost. In [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] the problem of source
selection which is performed before real integration is
proposed. This approach balances the cost and benefit of
integrating the source. It also shows that source selection
in the context of data fusion is NP-complete in general, and
that a straightforward greedy algorithm can generate an
arbitrarily bad solution.
        </p>
        <p>
          The greedy randomised adaptive search procedure
(GRASP) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] addresses the limitations of the greedy
approach in two ways: firstly, instead of making a greedy
decision in every step, secondly, in each repetition, after
generating the initial solution, it performs local search in a
hill-climbing fashion. Both components make it possible
to reach a near-optimal selection. GRASP is significantly
better than Greedy in selecting the subset of sources with
the highest profit and quite scalable, taking less than 1 hour
for synthetic data with up to 1 million sources of various
accuracy distributions.
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>2.1.3 Source Profiling</title>
        <p>
          The goal of source profiling is to effectively address the
challenging problem of helping users understand the
source contents, before they even decide whether
integration needs to be performed [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] an approach
to summarise the contents of a relational source is
proposed, so that users can quickly identify the data
domains of the source, and the main tables in which each
type of information resides.
        </p>
        <p>
          The source schema summarisation obtains about 70%
accuracy on the three pre-classified categories in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-6">
        <title>2.2 Record Linkage</title>
        <p>The goal of record linkage is to decide which records refer
to the same entity, and which refer to different entities.
Record linkage consists of three main steps: blocking,
pairwise matching (compares a pair or records), and
clustering.</p>
        <p>The pairwise matching step compares a pair of records
to find out whether they refer to the same entity, while the
clustering step makes a decision whether the results of the
pairwise step are globally consistent. Since pairwise
matching requires a quadratic number of record pair
comparisons, blocking step aims to decrease the number
of pairwise comparisons.</p>
        <p>It is also worth mentioning that algorithms based on
knowledge and ontology exists, which are not considered
in this overview due to the lack of space. Moreover, it does
not meet the goal as end-to-end system should work with
a large variety of heterogenous sources. In this case, it is
not expected that any significant number of data sources
meet such level of formalization.</p>
      </sec>
      <sec id="sec-3-7">
        <title>2.2.1 Multiple and Meta Blocking Schemas</title>
        <p>The records could be partitioned by using a blocking
function that is the composition of values of the attributes.
The advantage of this approach, instead of performing
pairwise comparison of all records, we do this for subsets
of records, which significantly lowers the number of
comparisons. The disadvantage is that this strategy may
produce false negatives, which prevent from comparison
of pairs that refer to one entity.</p>
        <p>
          To address this disadvantage in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] it is shown that
using multiple blocking functions could result in high
quality record linkage without necessarily incurring a high
cost. In [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] meta-blocking is proposed as an alternative
approach to this problem, which builds an edge-weighted
blocking graph G, for a set of blocks, where the nodes of
G are the records that occur in at least one block of B, and
(undirected) edges connect pairs of records that co-occur
in at least one block. In [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] it is shown experimentally that
this method improves blocking efficiency significantly,
often by 1-2 order of magnitude, while preserving high
recall.
        </p>
      </sec>
      <sec id="sec-3-8">
        <title>2.2.2 BlockSplit and PairRange</title>
        <p>
          It is shown in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] even with blocking, record linkage
for big data sets can take significant time span. To address
this volume issue, in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] it is proposed to use MapReduce
programming model, which is highly effective in
parallelising data-intensive computing in cluster
environment. The straightforward approach would be to
pass every block as a separate job for reducer, but since
blocks are not even sized, it is better to balance the
pairwise matching. In [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] two methods - BlockSplit and
        </p>
        <sec id="sec-3-8-1">
          <title>Talend [18], CloverETL [19] OYSTER [25] 2012-2016, ITBenchmarking [28] 2017</title>
        </sec>
        <sec id="sec-3-8-2">
          <title>Other type of pairwise optimization</title>
        </sec>
        <sec id="sec-3-8-3">
          <title>Talend [18], CloverETL [19]</title>
          <p>
            Das Sarma et al. [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] DI 2008
Das Sarma et al. [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] DI 2008
Das Sarma et al. [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] DI 2008
GRASP 2011 [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]
          </p>
        </sec>
        <sec id="sec-3-8-4">
          <title>Summarize RDB [6] 2009, ITBenchmarking [28]</title>
          <p>
            2017
SERF [
            <xref ref-type="bibr" rid="ref24">24</xref>
            ] 2009, Hyperion [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ] 2016
Hyperion [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ] 2016, BigGorilla [
            <xref ref-type="bibr" rid="ref27">27</xref>
            ] 2017,
ITBenchmarking [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] 2017
CrowdER [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] 2012-2014
Herna ́ndez and Stolfo DI [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] 1998
          </p>
        </sec>
        <sec id="sec-3-8-5">
          <title>ERBlockingframework [8] 2014-2018 CrowdER [12] 2012-2014, Gruenheid et al [11] 2014 Gruenheid et al. [11] 2014 OYSTER [25] 2012-2016, Gruenheid et al. [11] 2014</title>
          <p>
            Herna ́ndez and Stolfo DI [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] 1998
OYSTER 2012-2016, BigGorilla 2017,
ITBenchmarking [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] 2017
CrowdER [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] 2012-2014
OYSTER [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ] 2012-2016
OYSTER [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ] 2012-2016, ITBenchmarking [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] 2017
Dong et al 2009 [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ]
Dong et al 2009 [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ], TemporalLinkage [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] 2011
Dong et al 2009 [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ]
Centerprise [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ], Attunity [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ]
t
n
e
m
n
g
il
A
a
m
e
h
c
S
e
g
a
k
n
i
L
d
r
o
c
e
R
n
o
i
s
u
F
a
t
a
D
          </p>
        </sec>
        <sec id="sec-3-8-6">
          <title>Blocking Balanced Mapreduce</title>
        </sec>
        <sec id="sec-3-8-7">
          <title>Pairwise matching Probabilistic schema mapping Probabilistic mediated schema</title>
          <p>Pay-as-you-go
Source scoring
Source profiling
Rule-based (user defined)</p>
        </sec>
        <sec id="sec-3-8-8">
          <title>Other automatic schema alignment approach</title>
        </sec>
        <sec id="sec-3-8-9">
          <title>Multiple blocking schemas</title>
          <p>Meta blocking schema
Other type of optimization
Connected Component algorithm
Iterative algorithm
Greedy Incremental Algorithm
Rule-based</p>
        </sec>
        <sec id="sec-3-8-10">
          <title>Clustering</title>
          <p>Crowdsourcing
Text file parse (tagging)
Time consideration in data (agreement/disageement
decay)
Other type of domain methods to refine clusters
Accucopy
Temporal data Fusion
Third dimension considers extractors
Data Profiling (for rule based intuition)</p>
        </sec>
        <sec id="sec-3-8-11">
          <title>Talend [18], CloverETL [19], Centerprise [20], Attunity [21], Pentaho ETL[22], Jaspersoft ETL[22], jBoss Teiid [23]</title>
        </sec>
        <sec id="sec-3-8-12">
          <title>Attunity [21]</title>
        </sec>
        <sec id="sec-3-8-13">
          <title>Talend [18], CloverETL [19], Centerprise [20], Attunity [21], Pentaho ETL[22], Jaspersoft ETL[22], jBoss Teiid [23]</title>
        </sec>
        <sec id="sec-3-8-14">
          <title>Bing shopping and product catalog, 2011 [14]</title>
        </sec>
        <sec id="sec-3-8-15">
          <title>Talend [18], CloverETL [19], Centerprise[20], Attunity [21], Pentaho ETL[22], Jaspersoft ETL[22], jBoss Teiid [23]</title>
          <p>PairRange are proposed.</p>
          <p>BlockSplit aims to split the blocks and balance the
load.</p>
          <p>PairRange globally enumerates each comparison and
splits it into equal sized tasks.</p>
          <p>
            In [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] it is shown that both PairRange and BlockSplit
are stable across all data skews, with small advantage of
PairRange and is also stated that BlockSplit and PairRange
scale and keep being close to the number of reducers.
          </p>
        </sec>
      </sec>
      <sec id="sec-3-9">
        <title>2.2.3 Incremental Record Linkage</title>
        <p>
          In record linkage we face the velocity problem, since
each data source update makes results of record linkage
obsolete, we must perform record linkage again. It is
also important to mention, that besides speeding up the
record linkage process, our goal is to preserve the quality.
The ConnectedComponent algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] considers only
the clusters in the previous record linkage result that are
directly or indirectly connected to the nodes in the update.
        </p>
        <p>
          The Iterative algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] starts with the clusters in
the previous record linkage result that are directly
connected to the nodes in the update and expands it only
when necessary.
        </p>
        <p>
          The disadvantage of clustering component is that the
graphs considered may be too large, and the disadvantage
of the iterative algorithm is that to converge we may need
to consider a large number of such sub-graphs. The Greedy
Incremental algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] addresses this problem. The
algorithm considers three possible operations - split
cluster, merge clusters and move nodes from one cluster to
another based on the lowest penalty value
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] the benefits of the incremental algorithms over
batch linkage are experimentally shown. The efficiency of
record linkage significantly improves, often by 1-2 orders
of magnitude. Using a synthetic data shows that the
Greedy algorithm is the most robust in noisy
environments.
        </p>
      </sec>
      <sec id="sec-3-10">
        <title>2.2.4 Crowdsourcing</title>
        <p>
          A system is a crowdsourcing system if it enlists a crowd of
humans to help solve a problem defined by the system
owners. A naive approach to crowdsourcing record
linkage would result in human intelligent tasks, which for
big data integration is not scalable. CrowdER [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] discards
all pairs with low likelihood of being matched, using
automatic entity resolution techniques, it also exploits the
fact that record linkage satisfies the transitive relations.
The key contribution was made by labelling the records in
the long chains of such relations, they should be label in
decreasing order of likelihood.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] sequential and parallel strategies on two
realworld public datasets, using simulation and amazon
mechanical turk (AMT) are experimentally evaluated. On
the Cora data set of research publications, using transitive
relations reduces the number of crowdsourced record pairs
by 95%. On the Abt-Buy product data set, about 20%
crowdsourced record pairs are saved.
        </p>
      </sec>
      <sec id="sec-3-11">
        <title>2.2.5 Text File Parsing</title>
        <p>
          Many applications see a need to link unstructured text
data, while they have structured data. In [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] a supervised
learning approach tagging to create a mapping from
unstructured data to structured data is presented. It
performs tagging of strings in the text snippet with
attribute names and predicting the most promising
mapping (tagging).
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] experimentally shown that this method is
scalable especially with the use of blocking function. This
system is deployed and used to match all the offers
received by Bing Shopping to the Bing product catalog.
        </p>
      </sec>
      <sec id="sec-3-12">
        <title>2.2.6 Temporal Record Linkage</title>
        <p>
          Temporal record linkage addresses the problem of record
evolution over time which belongs to veracity problem of
big data integration. A strategy described in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] is based
on assumption that entities evolves smoothly, this process
typically is not erratic and attribute values have continuity
property (in the small time gaps it is likely that attributes
are less likely to change). This strategy invents two
coefficients. Disagreement decay - denotes the probability
that one entity changes its attribute value within time gap.
Agreement decay - denotes the probability that two
different entities have the same attribute value within time
gap. Then we multiply these coefficients by similarity of
attributes.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] experimentally using DBLP data set it is shown
that F-measure improved by 43% over traditional record
linkage.
        </p>
      </sec>
      <sec id="sec-3-13">
        <title>2.3 Data Fusion</title>
        <p>
          The data fusion is the third component of data integration.
In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] a data fusion architecture consists of three steps
truth discovery (according to the correctness of its values),
trustworthiness evaluation, copy detection between data
sources. Due to the lack of space we consider only
Accucopy family of algorithms.
        </p>
      </sec>
      <sec id="sec-3-14">
        <title>2.3.1 Basic Accucopy</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] end-to-end AccuCopy algorithm based on
architecture from section 2.3 is proposed. The algorithm
proposed in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] was evaluated experimentally using the
Flight data set, where copying happens a lot between
lowquality sources, most models that consider source
accuracy obtain even lower precision than naive voting.
AccuCopy, on the other hand, significantly improves the
precision of the results over naive voting, by 9.1%.
        </p>
      </sec>
      <sec id="sec-3-15">
        <title>2.3.2 Temporal Accucopy</title>
        <p>
          In the real-world sources are usually non-static and the
truth changes over time. The Temporal Accucopy data
fusion decides the true value of the data item at each time.
In [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] it is suggested to consider source quality in
dynamic setting and the lifespan of each data item. In [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
the dynamic data fusion algorithm is experimentally
evaluated using a restaurant data set including over 5K
restaurants in Manhattan, crawled from 12 web sources
weekly in a period of 8 weeks. In this period 467
restaurants were marked by some source as being closed
and among them 280 were indeed closed. The proposed
method obtains a F-measure of 0.86; Precision = 0.86
(considering all these restaurants as closed yields Precision
=0.60) Recall = 0.87(considering restaurants marked by at
least two data sources as closed yields Recall=0.34).
        </p>
      </sec>
      <sec id="sec-3-16">
        <title>2.3.2 Extractors as Third Dimension in Accucopy</title>
        <p>
          It also worth considering the extractors as a third
dimension to address the variety problem as it is proposed
in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], which shows that those being extracted by at least
8 extractors have a much higher accuracy (on average 70%
higher) than those being extracted by a single extractor.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3 Software Systems for Big Data Integration</title>
      <p>The following data integration systems comparison is
divided into two sections - enterprise and research since
the enterprise systems in general lack of the advanced
methods, and research systems are not as user friendly as
enterprise ones.</p>
      <sec id="sec-4-1">
        <title>3.1 Enterprise Data Integration Systems</title>
        <p>
          Table (see Table 1) outlines the main distinguishable
features. All seven systems share common, they are all
good at data extraction, but schema alignment step heavily
relying on a rule-based approach. Only Talend[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and
CloverETL[
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] provide some basic automatic tools for
entity resolution. Centerprise [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] and Attunity [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]
provide only rule-based option, while LANSA is not
designed for entity resolution within the system. Pentaho
ETL[
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], Jaspersoft ETL[
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], jBoss Teiid[
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] are focused
on big data ETL processes. The problem is they are not
designed to work with a large number of the heterogenous
and schema evolving sources. It is worth mentioning, that
Pentaho ETL, Jaspersoft ETL, jBoss Teiid have advanced
visual data management tools, which help users to manage
the data flow and prepare custom rules for big data
integration. They have an ability to be expanded by custom
user scripts. All of them, except LANSA provide data
profiling to assess the quality of the data sources, based on
data.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2 Research Data Integration Systems</title>
        <p>
          Table (see Table 1) also outlines the features of the
research systems. SERF [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] has fixed schema mappings,
but it is worth mentioning their entity resolution approach,
where each entry merged based on vote of each metric.
OYSTER [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] is an entity resolution system, it is not
design to be end-to-end data integration system but
provides a lot of automation in the entity resolution. It has
probabilistic direct matching, transitive linking (when
entry A matches B, and B matches C - then A also matches
C) and assert linking (when entries A and B have different
names but are based on prior knowledge of their
equivalence this system will link them together), and also
allows users to fix conflicts. Hyperion [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] intensively
relies on peer-to-peer approach for data integration, it
provides an API to which sources must conform to be in
the peer-to-peer network, this approach is a different angle
of and ontology-based solution, but still can not be applied
to wide range of heterogeneous data sources. BigGorilla
[
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] follows the approach of a module-based system, while
the system itself can not provide rich functionality, it aims
to be a part of the bigger system. ITBenchmarking [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]
relies on ontology-based solution, that is hardly applicable
for the domain with high amount of heterogeneous data
sources. It provides automatic schema alignment and
entity resolution based on ontology. UFeed [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] refines
schema mappings and mediated schema based on user
actions over query answers.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4 Architecture</title>
      <p>
        In this section the architecture and user workflow in data
integration are presented, which aims to address some of
the outlined big data integration problems. An
implementation of the architecture is developed on
Python. It will be implemented in the distributed
computation environment to address the volume and
velocity of sources and data. The variety of approaches
such as MapReduce or even more high-level ones such as
Spark [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] will be considered and one of them will be
chosen.
      </p>
      <p>
        The data flow is depicted in Figure 1. As it is shown in
Figure 1, the owner of the system initiates the search of the
relevant sources. The sources are filtered by machine
learning algorithm that is based on various meta attributes
of a particular source, which can be performed with
various clustering algorithms. Along with the source the
owner provides user defined rules or program to extract
the data from the source, which will be refined in using
extraction rule generator component, which have to be
refined because of the velocity problem of the sources. To
implement this component tagging [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is applied and if it
does not provide a reliable rule the component notifies the
owner of the system in case similarity between database
updates is lower than the threshold. This data is stored in
extraction support database. The extractor component
initiates the extraction procedure on distributed system
according to the time schedule, rules and sources list in
extraction support database. It stores the extracted
information in the database for extracted entries
      </p>
      <p>
        Figure 1 Data Flow
and then record linkage step is performed, which stores the
information in database for resolved entries. At record
linkage step the volume problem is addressed by
implementing blocking and by balancing the pairwise
comparison with PairRange [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] in distributed
computational jobs, which flattens equally the load, while
the velocity problem is addressed by implementing the
Incremental linkage [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Finally, the data fusion step is
performed on the resolved entries information and the
results stored in the fused database. This step implemented
by applying k-partite graph to identify the true value of the
attribute [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] and user defined functions. On the top of
that, an analyst can perform queries on fused database and
fetch the response.
      </p>
    </sec>
    <sec id="sec-6">
      <title>5 Conclusions and Future Work</title>
      <p>The paper presents an overview of methods and
systems for big data integration. A big data architecture is
provided, that combines the most promising approaches
addressing big data integration problems in a distributed
computation environment and covers most of major steps
of data integration. The architecture and the big data
integration workflow intended to be highly extensible and
address various problems are suggested. As an
implementation of source selection algorithm, machine
learning techniques are chosen to be applied to assess
whether the source should be ever integrated. To refine
rules, tagging or notifying owner the system is applied in
case similarity between database updates is lower than the
threshold. For the record linkage step, Blocking with
Incremental linkage is applied to address the volume and
velocity problem implemented with PairRange to balance
the load and solve the volume problem. Also, k-partite
graph is applied to identify true value of the attribute and
perform user-defined rules.</p>
      <p>The initial steps of architecture implementation are
performed. At the current state by a given list of the
sources the system is capable of extracting information
based on rule or program defined by user; perform record
linkage without optimisation and fuse the data with user
defined and pre-defined functions. As an application area
for the implementation e-commerce domain is used.</p>
      <p>As a future work it is planned to implement the whole
architecture as a stand-alone software solution over a
distributed computational environment.</p>
      <p>Acknowledgments. This work is supervised by Sergey
Stupnikov, Federal Research Center “Computer Science
and Control” of Russian Academy of Sciences.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Franklin</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maier</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>From databases to dataspaces: a new abstraction for information management</article-title>
          .
          <source>ACM SIGMOD Rec</source>
          .,
          <volume>34</volume>
          ,
          <fpage>27</fpage>
          -
          <lpage>33</lpage>
          (
          <year>2005</year>
          ).
          <source>doi: 10.1145/1107499.1107502. 35</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Sarma</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dong</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Bootstrapping pay-as-you-go data integration systems</article-title>
          .
          <source>Proc. ACM SIGMOD Int. Conf. on Management of Data</source>
          ,
          <volume>1</volume>
          ,
          <fpage>861</fpage>
          -
          <lpage>874</lpage>
          (
          <year>2008</year>
          ). doi:
          <volume>10</volume>
          .1145/1376616.1376702
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saha</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Less is more: Selecting sources wisely for integration</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>6</volume>
          ,
          <fpage>37</fpage>
          -
          <lpage>48</lpage>
          (
          <year>2012</year>
          ). doi: 14778/2535568.2448938
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Festa</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Resende</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>GRASP: basic components and enhancements</article-title>
          . Telecommun. Syst.,
          <volume>46</volume>
          ,
          <fpage>253</fpage>
          -
          <lpage>271</lpage>
          (
          <year>2011</year>
          ). doi:
          <volume>10</volume>
          .1007/s11235-010-9289-z
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Data profiling revisited</article-title>
          .
          <source>ACM SIGMOD Rec</source>
          .,
          <volume>42</volume>
          ,
          <fpage>40</fpage>
          -
          <lpage>49</lpage>
          (
          <year>2013</year>
          ). doi:
          <volume>10</volume>
          .1145/2590989.2590995
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Procopiuc</surname>
            ,
            <given-names>C. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Summarizing relational databases</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>2</volume>
          ,
          <fpage>634</fpage>
          -
          <lpage>645</lpage>
          (
          <year>2009</year>
          ). doi:
          <volume>10</volume>
          .14778/1687627.1687699
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Mauricio</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Hernandez</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Stolfo</surname>
            ,
            <given-names>S.J.</given-names>
          </string-name>
          :
          <article-title>Real-world data is dirty: Data cleansing and the merge/purge problem</article-title>
          .
          <source>Data Mining and Knowledge Discovery</source>
          ,
          <volume>2</volume>
          ,
          <fpage>9</fpage>
          -
          <lpage>37</lpage>
          (
          <year>1998</year>
          ). doi:
          <volume>10</volume>
          .1023/A:1009761603038
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Papadakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koutrika</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palpanas</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nejdl</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Meta-blocking: Taking entity resolutionto the next level</article-title>
          .
          <source>IEEE Trans. Knowl. and Data Eng., 26</source>
          ,
          <fpage>1946</fpage>
          -
          <lpage>1960</lpage>
          (
          <year>2014</year>
          ). doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2013</year>
          .54
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9] Ko ̈pcke, H.,
          <string-name>
            <surname>Thor</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahm</surname>
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Evaluation of entity resolution approaches on real-world match problems</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>3</volume>
          ,
          <fpage>484</fpage>
          -
          <lpage>493</lpage>
          , (
          <year>2010</year>
          ). doi:
          <volume>10</volume>
          .14778/1920841.1920904
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Kolb</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thor</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahm</surname>
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Load balancing for mapreduce-based entity resolution</article-title>
          .
          <source>In Proc. 28th Int. Conf. on Data Engineering</source>
          ,
          <volume>1</volume>
          ,
          <fpage>618</fpage>
          -
          <lpage>629</lpage>
          , (
          <year>2012</year>
          ). doi:
          <volume>10</volume>
          .1109/ ICDE.
          <year>2012</year>
          .22
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Gruenheid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dong</surname>
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Incremental record linkage</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>7</volume>
          ,
          <fpage>697</fpage>
          -
          <lpage>708</lpage>
          , (
          <year>2014</year>
          ). doi:
          <volume>10</volume>
          .14778/2732939.2732943
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kraska</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franklin</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feng</surname>
            <given-names>J</given-names>
          </string-name>
          .: Crowder:
          <article-title>Crowdsourcing entity resolution</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>5</volume>
          ,
          <fpage>1483</fpage>
          -
          <lpage>1494</lpage>
          (
          <year>2012</year>
          ). doi:
          <volume>10</volume>
          .14778/2350229.2350263
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Whang</surname>
            ,
            <given-names>S.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lofgren</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Molina</surname>
          </string-name>
          , H.:
          <article-title>Question selection for crowd entity resolution</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>6</volume>
          ,
          <fpage>349</fpage>
          -
          <lpage>360</lpage>
          (
          <year>2013</year>
          ).
          <source>doi: 0.14778/2536336</source>
          .2536337
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Kannan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Givoni</surname>
            <given-names>I.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Agrawal</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fuxman</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Matching unstructured product offers to structured product specifications</article-title>
          .
          <source>In Proc. 17th ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining</source>
          ,
          <volume>1</volume>
          ,
          <fpage>404</fpage>
          -
          <lpage>412</lpage>
          , (
          <year>2011</year>
          ). doi:
          <volume>10</volume>
          .1145/2020408.2020474
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Li</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dong</surname>
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maurino</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Linking temporal records</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>4</volume>
          ,
          <fpage>956</fpage>
          -
          <lpage>967</lpage>
          , (
          <year>2011</year>
          ). doi:
          <volume>10</volume>
          .1007/s11704-012-2002-5
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Dong</surname>
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berti-Equille</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Integrating conflicting data: The role of source dependence</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>2</volume>
          ,
          <fpage>550</fpage>
          -
          <lpage>561</lpage>
          , (
          <year>2009</year>
          ).
          <source>doi: 10.1.1.151.4068</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berti-Equille</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Truth discovery and copying detection in a dynamic world</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>2</volume>
          ,
          <fpage>562</fpage>
          -
          <lpage>573</lpage>
          , (
          <year>2009</year>
          ). doi:
          <volume>10</volume>
          .14778/1687627.1687691
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>ComparisNew</given-names>
            <surname>Features</surname>
          </string-name>
          &amp;
          <article-title>Product Changes for Talend Summer '16</article-title>
          . http://info.talend.com/rs/talend/images/TN_EN_ TLD_
          <article-title>Talend_6_2_Features</article-title>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>Comparison CloverETL vs</article-title>
          . competitors https://www.cloveretl.com/sites/applicationcraft/f iles/files/casestudies/Comparison_CloverETL_vs_Talend_
          <article-title>Pent aho</article-title>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Centerprise</given-names>
            <surname>Data Integrator - Astera Software</surname>
          </string-name>
          . http://www.astera.com/media/1391/centerpriseproduct-brochure.pdf
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <article-title>Attunity Replicate User</article-title>
          and Reference Guide https://support.ibt.com.au/helpdesk/File/Get/6215 375
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Whang</surname>
            ,
            <given-names>S. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marmaros</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Molina</surname>
          </string-name>
          , H.:
          <article-title>Pay-As-You-Go Entity Resolution</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>25</volume>
          ,
          <fpage>1111</fpage>
          -
          <lpage>1124</lpage>
          (
          <year>2012</year>
          ). doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2012</year>
          .43
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Parra</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halgamuge</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Performance Evaluation of Big Data and Business Intelligence Open Source Tools: Pentaho and Jaspersoft</article-title>
          .
          <source>Internet of Things and Big Data Analytics Toward Next-Generation Intelligence</source>
          ,
          <volume>1</volume>
          ,
          <fpage>147</fpage>
          -
          <lpage>176</lpage>
          , (
          <year>2018</year>
          ). doi: 147-
          <fpage>176</fpage>
          .
          <fpage>10</fpage>
          .1007/978-3-
          <fpage>319</fpage>
          - 60435-
          <issue>0</issue>
          _
          <fpage>6</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Teiid</given-names>
            <surname>Designer</surname>
          </string-name>
          User Guide http://docs.jboss.org/teiid/designer/10.0/userguide/enUS/prd/Teiid_Designer_User_Guide.pdf
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>E. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Talburt</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          :
          <article-title>Entity resolution for longitudinal studies in education using OYSTER (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kantere</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kementsietsidis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiringa</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>R. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Hyperion project: From data integration to data coordination</article-title>
          .
          <source>Proceeding of the ACM SIGMOD RECORD 32</source>
          ,
          <fpage>53</fpage>
          -
          <lpage>58</lpage>
          (
          <year>2003</year>
          ). doi:
          <volume>10</volume>
          .1145/945721.945733
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Golshan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mihaila</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Data Integration: After the Teenage Years</article-title>
          .
          <source>Proceedings of the 36th ACM SIGMODSIGACT-SIGAI Symposium on Principles of Database Systems</source>
          <volume>1</volume>
          ,
          <fpage>101</fpage>
          -
          <lpage>106</lpage>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .1145/3034786.3056124
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Krcmar</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfaff</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A web-based system architecture for ontology-based data integration in the domain of IT benchmarking</article-title>
          .
          <source>Enterprise Information Systems</source>
          <volume>12</volume>
          ,
          <fpage>236</fpage>
          -
          <lpage>258</lpage>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .1080/17517575.
          <year>2017</year>
          .1329552
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>A.</surname>
          </string-name>
          , Aboulnaga,. A.:
          <article-title>UFeed: Refining Web Data Integration Based on User Feedback</article-title>
          .
          <source>Proceedings of the 2017 ACM on Conference on Information and Knowledge Management</source>
          ,
          <volume>1</volume>
          ,
          <fpage>187</fpage>
          -
          <lpage>196</lpage>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .1145/3132847.3132887
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>[30] Spark Overview https://spark.apache.org/docs/latest/index.html</mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srivastava</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zajac</surname>
          </string-name>
          , R.:
          <article-title>Record linkage with uniqueness constraints and erroneous values</article-title>
          .
          <source>Proc. VLDB Endowment</source>
          ,
          <volume>3</volume>
          ,
          <fpage>417</fpage>
          -
          <lpage>428</lpage>
          (
          <year>2010</year>
          ). doi:
          <volume>10</volume>
          .14778/1920841.1920897
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>