blob: 888efdcc37ff995e238f2176ba037bf56ac6b241 [file] [log] [blame]
<!DOCTYPE html>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<head>
<title>Apache Griffin</title>
<meta name="keywords" content="Apache Griffin, Hadoop, Analyze, Data Quality, Quality, Real Time">
<meta name="description" content="Apache Griffin - Big Data Quality Solution For Batch and Streaming">
<meta name="author" content="Apache Griffin">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Style Sheets -->
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/misc.css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/colorbox.css">
<link rel="shortcut icon" href="images/favicon.png">
<!-- Baidu Analytics Tracking-->
<script>
var _hmt = _hmt || [];
(function () {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?43d74b26b35e1aa99faf2bc4c340a012";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<!-- Google Analytics Tracking -->
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-125017142-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<!-- header start -->
<div id="home_page">
<div class="topbar">
<div class="container">
<div class="row">
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1"><span
class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span
class="icon-bar"></span> <span class="icon-bar"></span></button>
<a class="navbar-brand" href="#"><img src="images/logo.png" height="44px"
style="margin-top:-7px"></a></div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right" id="top-menu">
<li><a class="menu" href="#home_page">HOME</a></li>
<li><a class="menu" href="#about_page">ABOUT</a></li>
<li><a class="menu" href="#diagram_page">ARCHITECTURE</a></li>
<li><a class="menu" href="#community_page">COMMUNITY</a></li>
<li><a class="menu" href="docs/quickstart.html">DOCS</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
</div>
</div>
</div>
<div class="headerimage">
<div >
<ul class="slides">
<li><img src="images/slider.jpeg"></li>
</ul>
</div>
</div>
<!--<div class="particles"></div>-->
<div class="slider-caption">
<div class="homewrapper">
<div class="hometext">
<h2 style="font-weight:500;">Apache Griffin</h2>
<h3>Big Data Quality Solution For Batch and Streaming</h3>
</div>
</div>
<div class="download" style="margin-left:10px;" title="Get Started"><a href="docs/quickstart.html">GET STARTED</a></div>
<div class="download"><a href="docs/contribute.html" title="Contribute">CONTRIBUTE</a></div>
</div>
</div>
<!-- header end -->
<!-- team start -->
<!-- team start -->
<div class="workwrapper" id="about_page">
<div class="container">
<div class="row">
<h2 class="sectiontile">ABOUT APACHE GRIFFIN</h2>
<div class="col-md-12">
<p style="width:80%; margin-left:auto; margin-right:auto;"> Apache Griffin is an open source Data
Quality solution for Big Data, which supports both batch and streaming mode. It offers an unified
process to measure your data quality from different perspectives, helping you build trusted data
assets, therefore boost your confidence for your business. </p>
<br/>
<!--<p style="width:80%; margin-left:auto; margin-right:auto;"> Griffin provides a simplified data quality-->
<!--management process, which enables you easily define a data quality domain model, and then waiting-->
<!--for the data quality metrics visualized in the dashboard. All you need is to focus on what you need,-->
<!--leaving the complexity of distributed big data processing to Griffin.</p>-->
<p style="width:80%; margin-left:auto; margin-right:auto;"> Apache Griffin offers a set of well-defined data
quality domain model, which covers most of data quality problems in general. It also define a set of
data quality DSL to help users define their quality criteria. By extending the DSL, users are even
able to implement their own specific features/functions in Apache Griffin.</p>
<!--<p style="width:80%; margin-left:auto; margin-right:auto;"> Apache Griffin is also high performance on-->
<!--data processing. It has been running on hundreds of data quality metrics in eBay, checking 700+M-->
<!--records every day.</p>-->
<div class="sepline"></div>
<p>Apache Griffin had been accepted as an Apache Incubator Project on Dec 7, 2016.</P>
<p>Apache Griffin graduated as an Apache Top Level Project on Nov 21, 2018.</P>
<div class="sepline"></div>
<p>Apache Griffin handle data quality issues in 3 steps:</p>
</div>
</div>
<section id="cd-timeline" class="cd-container" style="margin-top:-3px;">
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-picture"><img src="images/step1.png" alt="Picture"></div>
<div class="cd-timeline-content service-box-content">
<h3>Step 1 Define Data Quality</h3>
<p>Data scientists/analyst define their data quality requirements such as accuracy, completeness, timeliness, profiling, etc.</p>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-movie"><img src="images/step2.png" alt="Picture"></div>
<div class="cd-timeline-content service-box-content">
<h3>Step 2 Measure Data Quality</h3>
<p>Source data will be ingested into Apache Griffin computing cluster and Apache Griffin will kick off data quality measurement based on data quality requirements.</p>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-icon"><img src="images/step3.png" alt="Picture"></div>
<div class="cd-timeline-content service-box-content">
<h3>Step 3 Metrics</h3>
<p>Data quality reports as metrics will be evicted to designated destination.</p>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-location"><img src="images/step4.png" alt="Picture"></div>
<div class="cd-timeline-content service-box-content">
<h3>Additional Bonus</h3>
<p>Apache Griffin provides front tier for user to easily onboard any new data
quality requirement into Apache Griffin platform and write comprehensive logic to define their data quality.</p>
</div>
</div>
</section>
</div>
</div>
<!-- team end -->
<div class="clear"></div>
<!-- diagram start -->
<div class="workwrapper" id="diagram_page">
<div class="container">
<div class="row">
<h2 class="sectiontile">ARCHITECTURE</h2>
<div class="col-md-12 marginbot"><img src="images/arch.png"
style="border-radius: 10px; margin-top:10px;"></div>
</div>
</div>
</div>
<!-- diagram end -->
<div class="clear"></div>
<div class="clear"></div>
<!-- team start -->
<div class="client_wrapper" id="community_page">
<div class="container">
<div class="row">
<h2 class="sectiontile">WHO USES Apache Griffin</h2>
<div class="row" style="margin-top:50px;">
<div class="workmargin">
<a class="one" href="http://www.ebay.com/"><img style="width: 160px;margin-left:60px;" src="/images/ebay.png"
class="usecaseimage"></a>
<a class="two" href="http://www.huawei.com/"><img style="width: 160px;margin-left:60px;" src="/images/huawei.png"
class="usecaseimage"></a>
<a class="three" href="http://www.jd.com/"><img style="width: 160px;margin-left:60px;" src="/images/jd.png"
class="usecaseimage"></a>
<a class="four" href="http://bank.pingan.com/"><img style="width: 160px;margin-left:60px;" src="/images/payh.png"
class="usecaseimage"></a>
<a class="four" href="http://www.meituan.com/"><img style="width: 160px;margin-left:60px;" src="/images/meituan.png"
class="usecaseimage"></a>
</div>
<div class="row" style="margin-top:50px;">
<div class="workmargin">
<a class="one" href="http://www.paypal.com/"><img style="width: 160px;margin-left:60px;" src="/images/paypal.svg"
class="usecaseimage"></a>
<a class="two" href="http://www.vip.com/"><img style="width: 160px;margin-left:60px;" src="/images/vip.jpg"
class="usecaseimage"></a>
<a class="three" href="https://www.vmware.com/"><img style="width: 160px;margin-left:60px;"
src="/images/vmware.png" class="usecaseimage"></a>
<a class="four" href="https://www.expedia.com/"><img style="width: 160px;margin-left:60px;"
src="/images/expedia.png" class="usecaseimage"></a>
<a class="four" href="http://www.163.com/"><img style="width: 160px;margin-left:60px;" src="/images/NetEase.jpg"
class="usecaseimage"></a>
</div>
</div>
</div>
</div>
</div>
<!-- team end -->
<div class="clear"></div>
<!-- team start -->
<div class="workwrapper" id="community_pag">
<div class="container">
<div class="row">
<h2 class="sectiontile">COMMUNITY</h2>
<div class="row" style="margin-top:50px;">
<div class="col-md-4">
<h4 style="text-align: left">Contribution</h4>
<div style="text-align:left">
<p>Get help using Apache Griffin or contribute to the project</p>
<ul>
<li>
<a href="/docs/community.html" target="_blank"><b>Mailing Lists</b></a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/Griffin" target="_blank"><b>Issues Tracking</b></a>
</li>
<li>
<a href="http://github.com/apache/incubator-griffin" target="_blank"><b>Apache Griffin Github</b></a>
</li>
<li>
<a href="/docs/contribute.html" target="_blank"><b>How to Contribute</b></a>
</li>
</ul>
</div>
</div>
<div class="col-md-4">
<h4 style="text-align: left">Events</h4>
<div style="text-align:left">
<p>Learn more about Apache Griffin from Conferences</p>
<ul>
<li><a href="/docs/conf.html"><b>Conferences</b></a></li>
<li><a href="/docs/conf.html"><b>Meetups</b></a></li>
</ul>
</div>
</div>
<div class="col-md-4">
<h4 style="text-align: left">Apache Software Foundation</h4>
<div style="text-align:left">
<p></p>
<ul>
<li><a href="https://www.apache.org/" target="_blank"><b>Foundation</b></a></li>
<li><a href="https://www.apache.org/licenses/" target="_blank"><b>License</b></a></li>
<li><a href="https://www.apache.org/foundation/sponsorship" target="_blank"><b>Sponsorship</b></a></li>
<li><a href="https://www.apache.org/security" target="_blank"><b>Security</b></a></li>
<li><a href="https://www.apache.org/foundation/thanks" target="_blank"><b>Thanks</b></a></li>
<li><a href="https://www.apache.org/foundation/policies/conduct" target="_blank"><b>Code of Conduct</b></a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- footer start -->
<div class="footerwrapper">
<div class="container">
<div class="row">
<div class="col-md-3">
<a href="https://www.apache.org/events/current-event.html">
<img src="https://www.apache.org/events/current-event-234x60.png" alt="ASF Current Event">
</a>
</div>
<div class="col-md-9">
<div>
Copyright © 2018 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
Apache Griffin, Griffin, Apache, the Apache feather logo and the Apache Griffin logo are trademarks of The Apache Software Foundation.
</div>
</div>
</div>
</div>
</div>
<!-- footer end -->
<!-- JavaScripts -->
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
var lastId,
topMenu = $("#top-menu"),
topMenuHeight = topMenu.outerHeight() + 15,
// All list items
menuItems = topMenu.find("a"),
// Anchors corresponding to menu items
scrollItems = menuItems.map(function () {
var item = $($(this).attr("href"));
if (item.length) {
return item;
}
});
menuItems.click(function (e) {
var href = $(this).attr("href"),
offsetTop = href === "#" ? 0 : $(href).offset().top - topMenuHeight + 1;
$('html, body').stop().animate({
scrollTop: offsetTop
}, 300);
e.preventDefault();
});
// Bind to scroll
$(window).scroll(function () {
// Get container scroll position
var fromTop = $(this).scrollTop() + topMenuHeight;
// Get id of current scroll item
var cur = scrollItems.map(function () {
if ($(this).offset().top < fromTop)
return this;
});
// Get the id of the current element
cur = cur[cur.length - 1];
var id = cur && cur.length ? cur[0].id : "";
if (lastId !== id) {
lastId = id;
// Set/remove active class
menuItems
.parent().removeClass("active")
.end().filter("[href=#" + id + "]").parent().addClass("active");
}
});
</script>
</body>
</html>