java接続kylinデータベーステーブル

15454 ワード

一、Klinデータベース表を訪問します。
アクセスデータテーブルには2つの方法があります。一つはKlin標準JDBCによって駆動されるもので、一つはKlin APIを通じて行われるものです。それぞれ紹介します。
A,標準JDBC駆動方式
まずプロジェクトにKlin-jdbc-2.10.jarを導入する必要があります。
jdbcドライバを使用して結果セットの例コードを返します。
import java.sql.Connection;
import java.sql.PreparedSttement;
import java.sql.Result Set;
import java.sql.SQLException;
import java.util.Propties;
 
//実用化駆動類
Driver driver=(Driver)Class.forName("org.apphe.kylin.jdbc.Driver").newInstance();
Propties info=new Properties()
info.put(「user」、「ADMIN」);ログインユーザ名を認証する
info.put(「password」「KYLINE」);認証ログインパスワード
Connection conn=driver.co nnect("jdbc:kylin://192.168.46.15:7070/Test_P「info」
           PreparedSttement state=conn.prepareStatiment("select*from LOGDAY where AREACODE='440488')
 
//state.set Int(1,440488)このような方法でパラメータを割り当てないでください。
文字列を使ってSQL文をつづり合わせたほうがいいです。
//state.setNString(1、「440488」)
ResultSet result Set=state.executeQuery()
while(result Set.next(){
    System.out.println(result Set.get String(1));
    System.out.println(result Set.get String(2));
    System.out.printel(result Set.get String);
)
resultSet.close();
state.close();
 
 
B,APIインターフェースを使用してクエリーを実行する
実際には、JDBC方式の最下層もKlinのAPIクエリインターフェースを呼び出してデータを取得していますが、インターフェースは標準jdbcを通してパッケージ化されています。
インターフェース名:
POST/Klin/ap/query
インターフェースPostのjsonデータフォーマット:

   「sql」:「select*from TESTuKYLINHuFACT」、--標準SQL文、必須
   「offset」:0、--オプション、オフセット、改ページ用
   「limit」:50000、--オプションで、最大レコードを返して、改ページに使います。
   「accept Partial」:false、--部分結果を受け入れる、デフォルトfalse、オプション
   プロジェクト名、デフォルトDEFAULT、オプション
)
戻り結果例
{  
   "columnMetas":[  
      {  
         "isNullable":1,
         "displaySize":0,
         "label":"CAL_DT",
         "name":"CAL_DT",
         "schemaName":null,
         "catelogName":null,
         "tableName":null,
         "precision":0,
         "scale":0,
         "columnType":91,
         "columnTypeName":"DATE",
         "readOnly":true,
         "writable":false,
         "caseSensitive":true,
         "searchable":false,
         "currency":false,
         "signed":true,
         "autoIncrement":false,
         "definitelyWritable":false
      },
      {  
         "isNullable":1,
         "displaySize":10,
         "label":"LEAF_CATEG_ID",
         "name":"LEAF_CATEG_ID",
         "schemaName":null,
         "catelogName":null,
         "tableName":null,
         "precision":10,
         "scale":0,
         "columnType":4,
         "columnTypeName":"INTEGER",
         "readOnly":true,
         "writable":false,
         "caseSensitive":true,
         "searchable":false,
         "currency":false,
         "signed":true,
         "autoIncrement":false,
         "definitelyWritable":false
      }
   ],
   "results":[  
      [  
         "2013-08-07",
         "32996",
         "15",
         "15",
         "Auction",
         "10000000",
         "49.048952730908745",
         "49.048952730908745",
         "49.048952730908745",
         "1"
      ],
      [  
         "2013-08-07",
         "43398",
         "0",
         "14",
         "ABIN",
         "10000633",
         "85.78317064220418",
         "85.78317064220418",
         "85.78317064220418",
         "1"
      ]
   ],
   "cube":"test_kylin_cube_with_slr_desc",
   "affectedRowCount":0,
   "isException":false,
   "exceptionMessage":null,
   "duration":3451,
   "partial":false
}
jdbc方式でデータを取得することを提案します。API方式を使うと、より複雑になります。
二、Rest APIでCubesを構築する。
インターフェースURL:PUT/Klin/ap/cubes/cubeName/{cubeName}/build
その中の経路変数はcubenameの名前です。
{
    "startTime":'1423526400000',--       
    "endTime":'1423526400', --       
    "buildType":"BUILD" --‘BUILD’, ‘MERGE’, ‘REFRESH’
}
curlコマンドを使用して構築例を実行します。
curl -X PUT -H "Authorization: Basic ADMIN:KYLIN" -H 'Content-Type: application/json' -d '{"startTime":'1423526400000', "endTime":'1423526400', "buildType":"BUILD"}' http://:/kylin/api/cubes/{cubeName}/build
構築過程は基礎認証が必要です。ユーザ名パスワードで認証すればいいです。
詳細は以下のリンクを参照してください。
http://kylin.apache.org/docs21/howto/howto_アメリカ.retapi.
既知の問題のまとめ
1,ログインに失敗しました
この問題は一般的に長時間ログインしていないか、またはKlinを操作していない場合に発生します。解決方法:Klinサービスを再開します。
 
2,cubeの構築に失敗しました。
mapreuceのログを見てください。エラーの原因を発見しました。多くのエラーはhbase-site.xmlとhive-xml.xmlの構成が不適切であるためです。
また、kafka clientバージョンが正しくないと、kafkaがデータの読み込みに失敗します。
 
 
  • Kylinタイミングタスク設定
  •  
    [root@node3opt
    [root@node3opt
    [root@node3opt
    [root@node3opt]((落vim/etc/crontab)
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTA=root
    ホーム=/
     
    〹For details see man 4 crontabs
     
    皬Example of job definition:
    ヽoo--------minute(0-59)
    同前  .------------- hour(0-23)
    同前  |  .---------- day of month(1-31)
    同前  |  |  .------- monoth(1-12)OR jan,feb,mar,appr…
    同前  |  |  |  .---- day of week(0-6)(Sundy=0 or 7)OR sun,mon,tue,wed,thu,fri,sat
    同前  |  |  |  |
    湖南省にある地名  *  *  *  * user-name command to be executed
    30 00****root/opt/kylin/bin/kylin-BaseStt-task.sh
    30 01**root/opt/kylin/bin/kylin-Coustomer-task.sh
    30 02***root/opt/kylin/bin/kylin-logStt-task.sh
    30****root/opt/kylin/bin/kylin-Violation Cad-task.sh
     
    [root@node3opt