日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

導讀:前段時間公司業(yè)務需要,需要對現(xiàn)有用戶數(shù)據(jù)進行簡單的商業(yè)分析,因此找到了Apache Drill。本文將對Apache Drill進行簡單的說明,希望能夠幫助讀者理解并使用到實際項目中。

使用場景

Aache Drill 是一個用來分析大數(shù)據(jù)的工具,使用標準SQL查詢語句(即select語句)來完成數(shù)據(jù)查詢的JAVA框架,主要用于:

  • 跨數(shù)據(jù)庫查詢:比如MySQL不同庫聯(lián)查
  • 跨數(shù)據(jù)源查詢:比如mysql與oracle數(shù)據(jù)庫聯(lián)查、mysql與mongodb數(shù)據(jù)庫聯(lián)查,當然還支持更多的數(shù)據(jù)源。

如果你有以上的使用場景,那么它將會給你帶來強大的震撼。

介紹

Apache Drill 是一個分布式查詢引擎,實際上是GoolDremal的開源實現(xiàn)。

特點:

  • 低延遲
  • 支持SQL
  • 學習成本低
  • 支持jdbc
  • 高性能

基于以上特點,我在使用過程中,發(fā)現(xiàn)非常簡單,很容易和現(xiàn)在的框架集成(springboot+mybatis),幾乎零成本,唯一的成本就是配置數(shù)據(jù)源,這塊成本也很小,因為Apache Drill提供了web ui操作。

基本用法

在這里我就不講具體安裝步驟了,我用Docker來代替。

  1. 通過apache/drill官方鏡像安裝并啟動
  2. 瀏覽器打開localhost:8047(web ui 默認端口,別忘記修改容器port)
  3. 配置數(shù)據(jù)源
Java開發(fā)者必知必會的工具之Apache Drill

web ui 首頁

  • 點擊Storage,可以看到下圖
Java開發(fā)者必知必會的工具之Apache Drill

drill 自帶的web ui

  • 通過create創(chuàng)建數(shù)據(jù)源
Java開發(fā)者必知必會的工具之Apache Drill

配置

配置代碼如下(這里是以mysql為例,mac系統(tǒng))

{
  "type": "jdbc",
  "driver": "com.mysql.cj.jdbc.Driver",
  "url": "jdbc:mysql://docker.for.mac.host.internal:3306?serverTimezone=Asia/Shanghai",
  "username": "root",
  "password": "java",
  "caseInsensitiveTableNames": false,
  "enabled": true
}
  1. 測試

 

Java開發(fā)者必知必會的工具之Apache Drill

 

使用需要注意一點:

SQL查詢語句比我們直接使用mysql等數(shù)據(jù)庫SQL,多了一個命名空間,也就是我們在創(chuàng)建數(shù)據(jù)圓的時候的名字,下面SQL中的mysql。

SELECT * from mysql.gadmins.sys_admin_function

5. jdbc client

pom.xml 添加依賴

      <dependency>
    <groupId>org.apache.drill.exec</groupId>
    <artifactId>drill-jdbc-all</artifactId>
    <version>1.17.0</version>
</dependency>

java代碼

Class.forName("org.apache.drill.jdbc.Driver");
Connection connection =DriverManager.getConnection("jdbc:drill:zk=
node3.mynode.com:2181/drill/my_cluster_com-drillbits");
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("SELECT * from mysql.gadmins.`sys_admin_function`");
while(rs.next()){
System.out.println(rs.getString(1));
}

拓展使用

由于我主要用來做數(shù)據(jù)查詢,最關鍵的就是SQL語句了,那么有2個拓展場景

  • 通過自建web 管理SQL語句,執(zhí)行測試、發(fā)布
  • 通過結合DataQL引擎,可以讓SQL語句數(shù)據(jù)動起來,進一步對SQL查詢出來的數(shù)據(jù)進行轉化

總結

在調研的過程中,Apache Drill 給我的感覺就很來電,很有眼緣,當然也很符合我們的業(yè)務需要。在技術方案選型的過程中,是一個循序漸進的過程,未來還需要更多的調研,或許到一定階段,就需要其他框架來支撐業(yè)務,這也是程序員的最大樂趣之一。

分享到:
標簽:Apache Drill
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定