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

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

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

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

使用場(chǎng)景

Aache Drill 是一個(gè)用來(lái)分析大數(shù)據(jù)的工具,使用標(biāo)準(zhǔn)SQL查詢(xún)語(yǔ)句(即select語(yǔ)句)來(lái)完成數(shù)據(jù)查詢(xún)的JAVA框架,主要用于:

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

如果你有以上的使用場(chǎng)景,那么它將會(huì)給你帶來(lái)強(qiáng)大的震撼。

介紹

Apache Drill 是一個(gè)分布式查詢(xún)引擎,實(shí)際上是GoolDremal的開(kāi)源實(shí)現(xiàn)。

特點(diǎn):

  • 低延遲
  • 支持SQL
  • 學(xué)習(xí)成本低
  • 支持jdbc
  • 高性能

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

基本用法

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

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

web ui 首頁(yè)

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

drill 自帶的web ui

  • 通過(guò)create創(chuàng)建數(shù)據(jù)源
Java開(kāi)發(fā)者必知必會(huì)的工具之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. 測(cè)試

 

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

 

使用需要注意一點(diǎn):

SQL查詢(xún)語(yǔ)句比我們直接使用mysql等數(shù)據(jù)庫(kù)SQL,多了一個(gè)命名空間,也就是我們?cè)趧?chuàng)建數(shù)據(jù)圓的時(shí)候的名字,下面SQL中的mysql

SELECT * from mysql.gadmins.sys_admin_function

5. jdbc client

pom.xml 添加依賴(lài)

      <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));
}

拓展使用

由于我主要用來(lái)做數(shù)據(jù)查詢(xún),最關(guān)鍵的就是SQL語(yǔ)句了,那么有2個(gè)拓展場(chǎng)景

  • 通過(guò)自建web 管理SQL語(yǔ)句,執(zhí)行測(cè)試、發(fā)布
  • 通過(guò)結(jié)合DataQL引擎,可以讓SQL語(yǔ)句數(shù)據(jù)動(dòng)起來(lái),進(jìn)一步對(duì)SQL查詢(xún)出來(lái)的數(shù)據(jù)進(jìn)行轉(zhuǎn)化

總結(jié)

在調(diào)研的過(guò)程中,Apache Drill 給我的感覺(jué)就很來(lái)電,很有眼緣,當(dāng)然也很符合我們的業(yè)務(wù)需要。在技術(shù)方案選型的過(guò)程中,是一個(gè)循序漸進(jìn)的過(guò)程,未來(lái)還需要更多的調(diào)研,或許到一定階段,就需要其他框架來(lái)支撐業(yè)務(wù),這也是程序員的最大樂(lè)趣之一。

分享到:
標(biāo)簽:Apache Drill
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

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

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

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

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定