Added: kylin/site/docs23/tutorial/flink.html
URL: 
http://svn.apache.org/viewvc/kylin/site/docs23/tutorial/flink.html?rev=1822508&view=auto
==============================================================================
--- kylin/site/docs23/tutorial/flink.html (added)
+++ kylin/site/docs23/tutorial/flink.html Mon Jan 29 14:05:18 2018
@@ -0,0 +1,4371 @@
+<!--
+* 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.
+-->
+
+<!doctype html>
+<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>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | Apache Flink</title>
+  <meta name="description" content="Apache Kylin Home">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" 
href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+  <link rel="stylesheet" href="/assets/css/pygments.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/docs23/tutorial/flink.html";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" 
href="http://kylin.apache.org/feed.xml"; />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<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');
+
+  //oringal tracker for kylin.io
+  ga('create', 'UA-55534813-1', 'auto');
+  //new tracker for kylin.apache.org
+  ga('create', 'UA-55534813-2', 'auto', {'name':'toplevel'});
+
+  ga('send', 'pageview');
+  ga('toplevel.send', 'pageview');
+
+
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+</head>
+
+       <body>
+               <!--
+* 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.
+-->
+
+<header id="header" >
+  
+  <div id="head" class="parallax" parallax-speed="3" >
+    <div id="logo" class="text-center"> <img class="img-circle" 
id="circlelogo" src="/assets/images/kylin_logo.jpg"> <span class="title" 
>Apache Kylin™</span> <span class="tagline">Extreme OLAP Engine for Big 
Data</span> 
+    </div>
+    <div class="text-center" style="
+      position: relative;
+      top: 66px;
+      width: 1080px;
+      margin: 0 auto;
+      z-index: 11;
+      margin-top: -253px;
+      text-align: right;"
+    >
+      <a href="http://apache.org/foundation/contributing.html"; title="Support 
Apache" style="margin-left: 150px;">
+          <img src="https://www.apache.org/images/SupportApache-small.png"; 
style="height: 150px; width: 150px;">
+      </a>
+    </div>  
+  </div>
+  
+
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+  <div class="container-fluid" id="nav">
+    <!--
+    <img class="img-circle" width="40px" height="40px" id="circlelogo" 
src="/assets/images/kylin_logo.jpg">
+    -->
+    <!-- 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>
+     
+    </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">
+     <li><a href="/">Home</a></li>
+          <li><a href="/docs21" >Docs</a></li>
+          <li><a href="/download">Download</li>
+          <li><a href="/community" >Community</a></li>
+          <li><a href="/development" >Development</a></li>
+          <li><a href="/blog">Blog</li>
+          <li><a href="/cn" >中文版</a></li>  
+          <li><a href="https://twitter.com/apachekylin"; target="_blank" 
class="fa fa-twitter fa-lg" title="Twitter: @ApacheKylin" ></a></li>
+          <li><a href="https://github.com/apache/kylin"; target="_blank" 
class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+          <li><a href="https://www.facebook.com/kylinio"; target="_blank" 
class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>   
+      </ul>      
+    </div><!-- /.navbar-collapse -->
+  </div><!-- /.container-fluid -->
+</nav>
+ </header>
+
+               
+               <div class="container">
+                       <div class="row">
+                               <!--
+* 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.
+-->
+
+<div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg" 
id="nside1" style=" padding-top: 2em">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#titleGetting Started" data-toggle="collapse" 
id="navtitle">Getting Started</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/index.html" class="list-group-item-lay pjaxlink" 
id="navlist">Overview</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/release_notes.html" class="list-group-item-lay 
pjaxlink" id="navlist">Release Notes</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/concepts.html" 
class="list-group-item-lay pjaxlink" id="navlist">Technical Concepts</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/terminology.html" 
class="list-group-item-lay pjaxlink" id="navlist">Terminology</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/faq.html" class="list-group-item-lay 
pjaxlink" id="navlist">FAQ</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/events.html" 
class="list-group-item-lay pjaxlink" id="navlist">Events and 
Conferences</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+      <li><a href="/docs23/gettingstarted/best_practices.html" 
class="list-group-item-lay pjaxlink" id="navlist">Community Best 
Practices</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleInstallation" data-toggle="collapse" 
id="navtitle">Installation</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/index.html" class="list-group-item-lay 
pjaxlink" id="navlist">Installation Guide</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/hadoop_env.html" class="list-group-item-lay 
pjaxlink" id="navlist">Hadoop Environment</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_cluster.html" 
class="list-group-item-lay pjaxlink" id="navlist">Deploy in Cluster 
Mode</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/advance_settings.html" 
class="list-group-item-lay pjaxlink" id="navlist">Advanced Settings</a></li>    
  
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_docker.html" 
class="list-group-item-lay pjaxlink" id="navlist">Run Kylin with 
Docker</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_aws_emr.html" 
class="list-group-item-lay pjaxlink" id="navlist">Install Kylin on AWS 
EMR</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleTutorial" data-toggle="collapse" 
id="navtitle">Tutorial</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/kylin_sample.html" 
class="list-group-item-lay pjaxlink" id="navlist">Quick Start with Sample 
Cube</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/web.html" class="list-group-item-lay 
pjaxlink" id="navlist">Web Interface</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/create_cube.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Wizard</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_build_job.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Build and Job 
Monitoring</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/acl.html" class="list-group-item-lay 
pjaxlink" id="navlist">Cube Permission (v2.1.x)</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/project_level_acl.html" 
class="list-group-item-lay pjaxlink" id="navlist">Project Level ACL</a></li>    
  
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_spark.html" 
class="list-group-item-lay pjaxlink" id="navlist">Build Cube with 
Spark</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_build_performance.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Build Tuning</a></li>    
  
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleIntegration" data-toggle="collapse" 
id="navtitle">Integration</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/odbc.html" class="list-group-item-lay 
pjaxlink" id="navlist">Kylin ODBC Driver</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/tableau.html" class="list-group-item-lay 
pjaxlink" id="navlist">Tableau 8</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/tableau_91.html" 
class="list-group-item-lay pjaxlink" id="navlist">Tableau 9</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/powerbi.html" class="list-group-item-lay 
pjaxlink" id="navlist">MS Excel and Power BI</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/microstrategy.html" 
class="list-group-item-lay pjaxlink" id="navlist">MicroStrategy</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/squirrel.html" class="list-group-item-lay 
pjaxlink" id="navlist">SQuirreL</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/flink.html" class="list-group-item-lay 
pjaxlink" id="navlist">Apache Flink</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/hue.html" class="list-group-item-lay 
pjaxlink" id="navlist">Apache Hue</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/Qlik.html" class="list-group-item-lay 
pjaxlink" id="navlist">Qlik Sense</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleHow To" data-toggle="collapse" id="navtitle">How 
To</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_restapi.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use RESTful API</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_build_cube_with_restapi.html" 
class="list-group-item-lay pjaxlink" id="navlist">Build Cube with API</a></li>  
    
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_optimize_cubes.html" 
class="list-group-item-lay pjaxlink" id="navlist">Optimize Cube Design</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_optimize_build.html" 
class="list-group-item-lay pjaxlink" id="navlist">Optimize Cube Build</a></li>  
    
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_backup_metadata.html" 
class="list-group-item-lay pjaxlink" id="navlist">Backup Metadata</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_cleanup_storage.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cleanup Storage</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_jdbc.html" class="list-group-item-lay 
pjaxlink" id="navlist">Kylin JDBC Driver</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_upgrade.html" 
class="list-group-item-lay pjaxlink" id="navlist">Upgrade From Old 
Versions</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_ldap_and_sso.html" 
class="list-group-item-lay pjaxlink" id="navlist">Secure with LDAP and 
SSO</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_beeline.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Beeline for Hive</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_update_coprocessor.html" 
class="list-group-item-lay pjaxlink" id="navlist">Update Coprocessor</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_install_ranger_kylin_plugin.html" 
class="list-group-item-lay pjaxlink" id="navlist">The Ranger Kylin Plugin 
Installation Guide</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_enable_zookeeper_acl.html" 
class="list-group-item-lay pjaxlink" id="navlist">Enable zookeeper acl</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_setup_systemcube.html" 
class="list-group-item-lay pjaxlink" id="navlist">Set Up System Cube</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_cube_planner.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Cube Planner</a></li>     
 
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_dashboard.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Dashboard</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+
+                               <div class="col-md-9 col-lg-9 col-xs-14 aside2">
+                                       <div id="container">
+                                               <div id="pjax">
+                                                       <h1 
class="post-title">Apache Flink</h1>
+                                                       
+                                                       
+                                                       <article 
class="post-content" > 
+                                                       <h3 
id="introduction">Introduction</h3>
+
+<p>This document describes how to use Kylin as a data source in Apache 
Flink;</p>
+
+<p>There were several attempts to do this in Scala and JDBC, but none of them 
works:</p>
+
+<ul>
+  <li><a 
href="http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/JDBCInputFormat-preparation-with-Flink-1-1-SNAPSHOT-and-Scala-2-11-td5371.html";>attempt1</a></li>
+  <li><a 
href="http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Type-of-TypeVariable-OT-in-class-org-apache-flink-api-common-io-RichInputFormat-could-not-be-determi-td7287.html";>attempt2</a></li>
+  <li><a 
href="http://stackoverflow.com/questions/36067881/create-dataset-from-jdbc-source-in-flink-using-scala";>attempt3</a></li>
+  <li><a 
href="https://codegists.com/snippet/scala/jdbcissuescala_zeitgeist_scala";>attempt4</a>;</li>
+</ul>
+
+<p>We will try use CreateInput and <a 
href="https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/batch/index.html";>JDBCInputFormat</a>
 in batch mode and access via JDBC to Kylin. But it isn’t implemented in 
Scala, is only in Java <a 
href="http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/jdbc-JDBCInputFormat-td9393.html";>MailList</a>.
 This doc will go step by step solving these problems.</p>
+
+<h3 id="pre-requisites">Pre-requisites</h3>
+
+<ul>
+  <li>Need an instance of Kylin, with a Cube; <a 
href="kylin_sample.html">Sample Cube</a> will be good enough.</li>
+  <li><a href="http://www.scala-lang.org/";>Scala</a> and <a 
href="http://flink.apache.org/";>Apache Flink</a> Installed</li>
+  <li><a href="https://www.jetbrains.com/idea/";>IntelliJ</a> Installed and 
configured for Scala/Flink (see <a 
href="https://ci.apache.org/projects/flink/flink-docs-release-1.1/internals/ide_setup.html";>Flink
 IDE setup guide</a> )</li>
+</ul>
+
+<h3 id="used-software">Used software:</h3>
+
+<ul>
+  <li><a href="http://flink.apache.org/downloads.html";>Apache Flink</a> 
v1.2-SNAPSHOT</li>
+  <li><a href="http://kylin.apache.org/download/";>Apache Kylin</a> v1.5.2 
(v1.6.0 also works)</li>
+  <li><a 
href="https://www.jetbrains.com/idea/download/#section=linux";>IntelliJ</a>  
v2016.2</li>
+  <li><a 
href="downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz">Scala</a>  
v2.11</li>
+</ul>
+
+<h3 id="starting-point">Starting point:</h3>
+
+<p>This can be out initial skeleton:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">import org.apache.flink.api.scala._
+val env = ExecutionEnvironment.getExecutionEnvironment
+val inputFormat = JDBCInputFormat.buildJDBCInputFormat()
+  .setDrivername("org.apache.kylin.jdbc.Driver")
+  .setDBUrl("jdbc:kylin://172.17.0.2:7070/learn_kylin")
+  .setUsername("ADMIN")
+  .setPassword("KYLIN")
+  .setQuery("select count(distinct seller_id) as sellers from kylin_sales 
group by part_dt order by part_dt")
+  .finish()
+  val dataset =env.createInput(inputFormat)</code></pre></div>
+
+<p>The first error is: <img src="/images/Flink-Tutorial/02.png" alt="alt text" 
/></p>
+
+<p>Add to Scala:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">import 
org.apache.flink.api.java.io.jdbc.JDBCInputFormat</code></pre></div>
+
+<p>Next error is  <img src="/images/Flink-Tutorial/03.png" alt="alt text" 
/></p>
+
+<p>We can solve dependencies <a 
href="https://mvnrepository.com/artifact/org.apache.flink/flink-jdbc/1.1.2";>(mvn
 repository: jdbc)</a>; Add this to your pom.xml:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">&lt;dependency&gt;
+   &lt;groupId&gt;org.apache.flink&lt;/groupId&gt;
+   &lt;artifactId&gt;flink-jdbc&lt;/artifactId&gt;
+   &lt;version&gt;${flink.version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre></div>
+
+<h2 id="solve-dependencies-of-row">Solve dependencies of row</h2>
+
+<p>Similar to previous point we need solve dependencies of Row Class <a 
href="https://mvnrepository.com/artifact/org.apache.flink/flink-table_2.10/1.1.2";>(mvn
 repository: Table) </a>:</p>
+
+<p><img src="/images/Flink-Tutorial/03b.png" alt="" /></p>
+
+<ul>
+  <li>In pom.xml add:</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">&lt;dependency&gt;
+   &lt;groupId&gt;org.apache.flink&lt;/groupId&gt;
+   &lt;artifactId&gt;flink-table_2.10&lt;/artifactId&gt;
+   &lt;version&gt;${flink.version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre></div>
+
+<ul>
+  <li>In Scala:</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">import org.apache.flink.api.table.Row</code></pre></div>
+
+<h2 id="solve-rowtypeinfo-property-and-their-new-dependencies">Solve 
RowTypeInfo property (and their new dependencies)</h2>
+
+<p>This is the new error to solve:</p>
+
+<p><img src="/images/Flink-Tutorial/04.png" alt="" /></p>
+
+<ul>
+  <li>
+    <p>If check the code of <a 
href="https://github.com/apache/flink/blob/master/flink-batch-connectors/flink-jdbc/src/main/java/org/apache/flink/api/java/io/jdbc/JDBCInputFormat.java#L69";>JDBCInputFormat.java</a>,
 we can see <a 
href="https://github.com/apache/flink/commit/09b428bd65819b946cf82ab1fdee305eb5a941f5#diff-9b49a5041d50d9f9fad3f8060b3d1310R69";>this
 new property</a> (and mandatory) added on Apr 2016 by <a 
href="https://issues.apache.org/jira/browse/FLINK-3750";>FLINK-3750</a>  Manual 
<a 
href="https://ci.apache.org/projects/flink/flink-docs-master/api/java/org/apache/flink/api/java/io/jdbc/JDBCInputFormat.html";>JDBCInputFormat</a>
 v1.2 in Java</p>
+
+    <p>Add the new Property: <strong>setRowTypeInfo</strong></p>
+  </li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">val 
inputFormat = JDBCInputFormat.buildJDBCInputFormat()
+  .setDrivername("org.apache.kylin.jdbc.Driver")
+  .setDBUrl("jdbc:kylin://172.17.0.2:7070/learn_kylin")
+  .setUsername("ADMIN")
+  .setPassword("KYLIN")
+  .setQuery("select count(distinct seller_id) as sellers from kylin_sales 
group by part_dt order by part_dt")
+  .setRowTypeInfo(DB_ROWTYPE)
+  .finish()</code></pre></div>
+
+<ul>
+  <li>
+    <p>How can configure this property in Scala? In <a 
href="https://codegists.com/snippet/scala/jdbcissuescala_zeitgeist_scala";>Attempt4</a>,
 there is an incorrect solution</p>
+
+    <p>We can check the types using the intellisense: <img 
src="/images/Flink-Tutorial/05.png" alt="alt text" /></p>
+
+    <p>Then we will need add more dependences; Add to scala:</p>
+  </li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">import org.apache.flink.api.table.typeutils.RowTypeInfo
+import org.apache.flink.api.common.typeinfo.{BasicTypeInfo, 
TypeInformation}</code></pre></div>
+
+<p>Create a Array or Seq of TypeInformation[ ]</p>
+
+<p><img src="/images/Flink-Tutorial/06.png" alt="" /></p>
+
+<p>Solution:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">var 
stringColum: TypeInformation[String] = createTypeInformation[String]
+   val DB_ROWTYPE = new RowTypeInfo(Seq(stringColum))</code></pre></div>
+
+<h2 id="solve-classnotfoundexception">Solve ClassNotFoundException</h2>
+
+<p><img src="/images/Flink-Tutorial/07.png" alt="" /></p>
+
+<p>Need find the kylin-jdbc-x.x.x.jar and then expose to Flink</p>
+
+<ol>
+  <li>
+    <p>Find the Kylin JDBC jar</p>
+
+    <p>From Kylin <a href="http://kylin.apache.org/download/";>Download</a> 
choose <strong>Binary</strong> and the <strong>correct version of Kylin and 
HBase</strong></p>
+
+    <p>Download &amp; Unpack: in ./lib:</p>
+  </li>
+</ol>
+
+<p><img src="/images/Flink-Tutorial/08.png" alt="" /></p>
+
+<ol>
+  <li>
+    <p>Make this JAR accessible to Flink</p>
+
+    <p>If you execute like service you need put this JAR in you Java class 
path using your .bashrc</p>
+  </li>
+</ol>
+
+<p><img src="/images/Flink-Tutorial/09.png" alt="" /></p>
+
+<p>Check the actual value: <img src="/images/Flink-Tutorial/10.png" alt="alt 
text" /></p>
+
+<p>Check the permission for this file (Must be accessible for you):</p>
+
+<p><img src="/images/Flink-Tutorial/11.png" alt="" /></p>
+
+<p>If you are executing from IDE, need add your class path manually:</p>
+
+<p>On IntelliJ: <img src="/images/Flink-Tutorial/12.png" alt="alt text" />  
&gt; <img src="/images/Flink-Tutorial/13.png" alt="alt text" /> &gt; <img 
src="/images/Flink-Tutorial/14.png" alt="alt text" /> &gt; <img 
src="/images/Flink-Tutorial/15.png" alt="alt text" /></p>
+
+<p>The result, will be similar to: <img src="/images/Flink-Tutorial/16.png" 
alt="alt text" /></p>
+
+<h2 id="solve-couldnt-access-resultset-error">Solve “Couldn’t access 
resultSet” error</h2>
+
+<p><img src="/images/Flink-Tutorial/17.png" alt="" /></p>
+
+<p>It is related with <a 
href="https://issues.apache.org/jira/browse/FLINK-4108";>Flink 4108</a>  <a 
href="http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/jdbc-JDBCInputFormat-td9393.html#a9415";>(MailList)</a>
 and Timo Walther <a href="https://github.com/apache/flink/pull/2619";>make a 
PR</a></p>
+
+<p>If you are running Flink &lt;= 1.2 you will need apply this path and make 
clean install</p>
+
+<h2 id="solve-the-casting-error">Solve the casting error</h2>
+
+<p><img src="/images/Flink-Tutorial/18.png" alt="" /></p>
+
+<p>In the error message you have the problem and solution …. nice ;)  
¡¡</p>
+
+<h2 id="the-result">The result</h2>
+
+<p>The output must be similar to this, print the result of query by standard 
output:</p>
+
+<p><img src="/images/Flink-Tutorial/19.png" alt="" /></p>
+
+<h2 id="now-more-complex">Now, more complex</h2>
+
+<p>Try with a multi-colum and multi-type query:</p>
+
+<div class="highlight"><pre><code class="language-groff" 
data-lang="groff">select part_dt, sum(price) as total_selled, count(distinct 
seller_id) as sellers 
+from kylin_sales 
+group by part_dt 
+order by part_dt</code></pre></div>
+
+<p>Need changes in DB_ROWTYPE:</p>
+
+<p><img src="/images/Flink-Tutorial/20.png" alt="" /></p>
+
+<p>And import lib of Java, to work with Data type of Java <img 
src="/images/Flink-Tutorial/21.png" alt="alt text" /></p>
+
+<p>The new result will be:</p>
+
+<p><img src="/images/Flink-Tutorial/23.png" alt="" /></p>
+
+<h2 id="error--reused-connection">Error:  Reused Connection</h2>
+
+<p><img src="/images/Flink-Tutorial/24.png" alt="" /></p>
+
+<p>Check if your HBase and Kylin is working. Also you can use Kylin UI for 
it.</p>
+
+<h2 id="error--javalangabstractmethoderror--avatica-connection">Error:  
java.lang.AbstractMethodError:  ….Avatica Connection</h2>
+
+<p>See <a href="https://issues.apache.org/jira/browse/KYLIN-1898";>Kylin 
1898</a></p>
+
+<p>It is a problem with kylin-jdbc-1.x.x. JAR, you need use Calcite 1.8 or 
above; The solution is to use Kylin 1.5.4 or above.</p>
+
+<p><img src="/images/Flink-Tutorial/25.png" alt="" /></p>
+
+<h2 
id="error-cant-expand-macros-compiled-by-previous-versions-of-scala">Error: 
can’t expand macros compiled by previous versions of scala</h2>
+
+<p>Is a problem with versions of scala, check in with “scala -version” 
your actual version and choose your correct POM.</p>
+
+<p>Perhaps you will need a IntelliJ &gt; File &gt; Invalidates Cache &gt; 
Invalidate and Restart.</p>
+
+<p>I added POM for Scala 2.11</p>
+
+<h2 id="final-words">Final Words</h2>
+
+<p>Now you can read Kylin’s data from Apache Flink, great!</p>
+
+<p><a 
href="https://github.com/albertoRamon/Flink/tree/master/ReadKylinFromFlink/flink-scala-project";>Full
 Code Example</a></p>
+
+<p>Solved all integration problems, and tested with different types of data 
(Long, BigDecimal and Dates). The patch has been comited at 15 Oct, then, will 
be part of Flink 1.2.</p>
+
+                                                       </article>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+               </div>          
+               <!--
+* 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.
+-->
+
+<footer id="underfooter">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body" style="text-align:center">
+                    <a href="http://www.apache.org";>
+                        <img id="asf-logo" alt="Apache Software Foundation" 
src="/assets/images/feather-small.gif">
+                    </a>
+
+                    <div>
+                        The contents of this website are © 2015 Apache 
Software Foundation under the terms of the <a
+                            href="http://www.apache.org/licenses/LICENSE-2.0";> 
Apache License v2 </a>. Apache Kylin and
+                        its logo are trademarks of the Apache Software 
Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+       <script src="/assets/js/jquery-1.9.1.min.js"></script> 
+       <script src="/assets/js/bootstrap.min.js"></script> 
+       <script src="/assets/js/main.js"></script>
+       </body>
+</html>


Reply via email to