<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>HBaseConAsia</title>
    <meta name="viewport" content="width=device-width">
    <meta name="description" content="The Community Event for Apache HBase&trade;">
    <meta name="keywords" content="hbasecon apache hbase" />
    
    <link rel="canonical" href="https://hbase.apache.org/hbaseconasia-2018//">
    <link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">

    <!-- Custom CSS & Bootstrap Core CSS - Uses Bootswatch Flatly Theme: http://bootswatch.com/flatly/ -->
    <link rel="stylesheet" href="/hbaseconasia-2018/style.css">
    <!--HBaseCon css additions-->
    <link rel="stylesheet" href="/hbaseconasia-2018/css/hbasecon.css">

    <!-- Custom Fonts -->
    <link rel="stylesheet" href="/hbaseconasia-2018/css/font-awesome/css/font-awesome.min.css">
    <link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
    <link href="//fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

    <body id="page-top" class="index">
       <!-- Navigation -->
    <nav class="navbar navbar-default navbar-fixed-top">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header page-scroll">
                <button type="button" class="navbar-toggle" 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="#page-top">HBaseConAsia</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">
                    <li class="hidden">
                        <a href="#page-top"></a>
                    </li>
                    <li class="page-scroll">
                        <a href="#about">About</a>
                    </li>
                    <li class="page-scroll">
                      <a href="#cfp">CFP</a>
                    </li>
                    <li class="page-scroll">
                      <a href="#registration">Registration</a>
                    </li>
                    <!--
                    <li class="page-scroll">
                        <a href="#agenda">Agenda</a>
                    </li>
                    -->
                    <li class="page-scroll">
                        <a href="#sponsors">Sponsors</a>
                    </li>
                    <li class="page-scroll">
                      <a href="#archives">Archives</a>
                    </li>
                    <li class="page-scroll">
                        <a href="#contact">Contact</a>
                    </li>
                    <li><a href="https://m.aliyun.com/markets/aliyun/hbaseconasia2018">中文网站</a></li>
                </ul>
            </div>
            <!-- /.navbar-collapse -->
        </div>
        <!-- /.container-fluid -->
    </nav>

        <!-- Header -->
    <header>
        <div class="container">
            <div class="row">
                <div class="col-lg-12">
                    <img class="img-responsive" src="img/hbca.png" alt="">
                </div>
            </div>
            <div class="row">
                <div class="col-lg-12">
                    <div class="intro-text">
                        <span class="name">The Community Event for Apache HBase&trade;</span>
                        <span class="skills">Aug 17th, 2018 - Gehua New Century Hotel, Beijing, China</span>
                    </div>
                </div>
            </div>
        </div>
    </header>


     <!-- About Section -->
    <section id="about">
        <div class="container">
           <div class="pull-right">
               <img class="img-responsive" src="img/jumping-orca_rotated_12percent.png" alt="Apache HBase&trade;" style="float='right'">
           </div>
            <div class="row first-row">
                <div class="col-lg-12 text-center">
                    <h2>About</h2>
                </div>
            </div>
            <div class="row">
                <div class="col-lg-12 text-center">
                    <p>HBaseCon (founded in 2012) is the premier conference for the <a href="https://hbase.apache.org">Apache HBase</a>
                     community—including committers/contributors, developers, operators, learners, and users (including some of those
                     managing the largest deployments in the world). If you run Apache HBase in production or aspire to do so, HBaseCon
                     has no substitute!</p>

                    <p>HBaseConAsia is HBaseCon held in Asia. This year, the 2nd HBaseConAsia will take place on August 17th at
                    Gehua New Century Hotel, Beijing, China. There will be no admission fee.</p>

                    <p><a href="https://hbase.apache.org">Apache HBase</a> is a native distributed data store for the Apache Hadoop
                     ecosystem. Its community works independently within the ASF to provide their respective software
                    under the permissive Apache license.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Agenda Section -->
<section class="success" id="cfp">
   <div class="container">
       <div class="row first-row">
           <div class="col-lg-12 text-center">
               <h2>Call for Proposals</h2>
           </div>
       </div>
       <div class="row">
           <div class="col-lg-12 text-center">
             <p>The event's call for proposals is available at <a href="https://easychair.org/conferences/?conf=hbaseconasia2018">EasyChair for HBaseConAsia2018</a>.
             The CFP will be open until 2018/06/17. Please submit your talks as soon as possible!</p>
             <p>All submissions will be reviewed by a group of individuals from the Apache HBase PMC.</p>
           </div>
       </div>
   </div>
</section>

    <!-- Sponsors Section -->
<section id="registration">
   <div class="container">
           <div class="pull-right">
               <img class="img-responsive" src="img/jumping-orca_rotated_12percent.png" alt="Apache HBase&trade;" style="float='right'">
           </div>
       <div class="row first-row">
           <div class="col-lg-12 text-center">
               <h2>Registration</h2>
           </div>
       </div>
       <div class="row">
           <div class="col-lg-12">
             <p>Registration for HBaseConAsia 2018 is now open! Please use the following page to register: <a href="https://hbaseconasia2018-tickets.eventbrite.com">Register Here</a>.
             </p>
           </div>
       </div>
       <div class="row">
           <div class="col-lg-12">
             <p>For any issues around registration, please contact <a href="mailto:hbaseconasia2018@service.alibaba.com">hbaseconasia2018@service.alibaba.com</a></p>
           </div>
       </div>
   </div>
</section>


    

    <!-- Sponsors Section -->
<section class="success" id="sponsors">
   <div class="container">
       <div class="row first-row">
           <div class="col-lg-12 text-center">
               <h2>Sponsors</h2>
           </div>
       </div>
       <div class="row">
           <a href="https://alibaba.com"><div class="col-md-4">
             <div class="sponsor-row-box">
               <img src="/hbaseconasia-2018/img/sponsors/alibaba.png" alt="Alibaba"/>
             </div>
           </div></a>
           <a href="https://apache.org"><div class="col-md-4">
             <div class="sponsor-row-box">
               <img src="/hbaseconasia-2018/img/sponsors/asf.png" alt="Apache Software Foundation" />
             </div>
           </div></a>
<!--
           <a href="https://siftscience.com/"><div class="col-md-4">
             <div class="sponsor-row-box">
               <img src="/hbaseconasia-2018/img/sponsors/siftscience.png" alt="Sift Science" />
             </div>
           </div></a>
-->
       </div>
       <div class="row">
           <div class="col-lg-12">
             <br/><br/>
             <p>More sponsors are welcomed, please contact <a href="mailto:hbaseconasia2018@service.alibaba.com">hbaseconasia2018@service.alibaba.com</a> if any questions about sponsorship</p>
           </div>
       </div>
   </div>
</section>

    <!-- Archives Section -->
<section id="archives">
   <div class="container">
           <div class="pull-right">
               <img class="img-responsive" src="img/jumping-orca_rotated_12percent.png" alt="Apache HBase&trade;" style="float='right'">
           </div>
       <div class="row first-row">
           <div class="col-lg-12 text-center">
               <h2>Archives</h2>
           </div>
       </div>
       <div class="row">
           <div class="col-lg-12 text-center">
               <p>Previous HBaseCon events can be found <a href="https://hbase.apache.org/hbasecon-archives.html">here</a>.</p>
           </div>
       </div>
   </div>
</section>

    <!-- Contact Section -->
<section class="success" id="contact">
	<div class="container">
		<div class="row first-row">
			<div class="col-lg-12 text-center">
				<h2>Contact Us</h2>
			</div>
		</div>
		<div class="row">
			<div class="col-lg-12 text-center">
			  <p>Email us: <a href="mailto:dev@hbase.apache.org">dev@hbase.apache.org</a></p>
			</div>
		</div>
	</div>
</section>

    <!-- Conduct Section -->
<section id="conduct">
   <div class="container">
       <div class="row first-row">
           <div class="pull-right">
               <img class="img-responsive" src="img/jumping-orca_rotated_12percent.png" alt="Apache HBase&trade;" style="float='right'">
           </div>
           <div class="col-lg-12 text-center">
               <h2>Code of Conduct</h2>
           </div>
       </div>
       <div class="row">
           <div class="col-lg-12 text-center">
              <p>This event is dedicated to providing a harassment-free conference experience for everyone,
                regardless of gender, gender identity and expression, sexual orientation, disability, physical
                appearance, body size, race, or religion. We do not tolerate harassment of conference
                participants in any form. Conference participants violating these rules may be sanctioned
                or expelled from the conference at the discretion of the conference organizers.</p>

              <p>Harassment includes offensive verbal comments related to gender, gender identity and expression,
                sexual orientation, disability, physical appearance, body size, race, religion, sexual images in
                public spaces, deliberate intimidation, stalking, following, harassing photography or recording,
                sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual
                attention. Participants asked to stop any harassing behavior are expected to comply immediately.</p>

              <p>If a participant engages in harassing behavior, the conference organizers may take any action they
                deem appropriate, including warning the offender or expulsion from the conference.
                If you are being harassed, notice that someone else is being harassed, or have any other concerns,
                please contact a member of conference staff immediately. Conference staff can be identified by special badges.</p>

              <p>Conference staff will be happy to help participants contact hotel/venue security or local law
                enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for
                the duration of the conference. We value your attendance.</p>

              <p>We expect participants to follow these rules at all conference venues and conference-related social events.</p>
           </div>
       </div>
   </div>
</section>


    <!-- Footer -->
<footer class="text-center">
    <div class="footer-below">
        <div class="container">
            <div class="row">
                <div class="col-lg-12">
                    Copyright &copy; 2018 Apache Software Foundation
                </div>
                <div class="col-lg-12">
                    Apache Hadoop, Apache HBase, Hadoop, HBase and Apache are trademarks of the Apache Software Foundation and are used with permission. All other trademarks and registered trademarks are the property of their respective owners.
                </div>
            </div>
            <div class="row">
                <div class="col-lg-12">
                    Jekyll Theme based on <a href="https://github.com/jeromelachaud/freelancer-theme">Freelancer Theme</a>
                </div>
            </div>
        </div>
    </div>
</footer>

<!-- Scroll to Top Button (Only visible on small and extra-small screen sizes) -->
<div class="scroll-top page-scroll visible-xs visible-sm">
    <a class="btn btn-primary" href="#page-top">
        <i class="fa fa-chevron-up"></i>
    </a>
</div>


     <!-- jQuery Version 1.11.0 -->
    <script src="/hbaseconasia-2018/js/jquery-1.11.0.js"></script>

    <!-- Bootstrap Core JavaScript -->
    <script src="/hbaseconasia-2018/js/bootstrap.min.js"></script>

    <!-- Plugin JavaScript -->
    <script src="/hbaseconasia-2018/js/jquery.easing.min.js"></script>
    <script src="/hbaseconasia-2018/js/classie.js"></script>
    <script src="/hbaseconasia-2018/js/cbpAnimatedHeader.js"></script>

    <!-- Custom Theme JavaScript -->
    <script src="/hbaseconasia-2018/js/freelancer.js"></script>

    </body>
</html>
