openLooKeng初體驗-單節點自動安裝

openLooKeng初體驗-單節點自動安裝

今天瀏覽新聞時看到華爲近期開源了一款名爲openLooKeng數據虛擬化引擎。正好最近在研究跨源跨域異構數據分析的問題,於是便繼續瞭解了一下。訪問其官方網站 感覺頁面風格做得還挺簡潔清爽。閱讀了一些概念和簡介,大概七七八八瞭解了個輪廓。 然後順着首頁quick start 指導,我準備動手實踐一下。

在這裏插入圖片描述

我的環境

根據文檔說明,僅僅只要一臺linux 環境,內存大於4G即可,於是我就用了我自己的公有云機器:

在這裏插入圖片描述

安裝和使用

在linux命令行窗口執行:

wget -O - https://download.openlookeng.io/install.sh|bash

從腳本運行日誌來看,腳本應該是自動做了一些環境檢查,並自動從下載了openLooKeng的安裝包和依賴包。接着又自動下載了安裝包並部署到環境上。此外,從下圖可以看到腳本幫我創建了一個名爲openlkadmin的用戶,用於管理openLooKeng服務的。這點值得表揚。可以很好地避免了用root 用戶來操作一切。

在這裏插入圖片描述

過了一會兒,日誌顯示部署成功了。如下圖:

在這裏插入圖片描述

總體感覺安裝很順暢,整個過程我並沒有做任何操作。不過也吐槽一下,中間有有一個環節卡了一會兒,我估計是在下載openLooKeng的安裝,整個過程沒有任何信息輸出,我還以爲部署腳本卡住了。好在過了一分鐘後腳本繼續往下走了。 估計是我網絡導致下載緩慢的緣故吧。

安裝結束時,腳本提示它已自動將openLooKeng的服務運行起來了, 並提示可以運行運行cli 來連接openLooKeng。

照着部署結束的提示,運行如下命令:

/opt/openlookeng/bin/openlk-cli

可以看到openlk-cl 連接到了localhost 的8090 端口,通過簡單的查詢可以看到系統已經內置了幾個數據源: system, memory, tpcds, tpch

進一步看tpdcs下有哪些數據表:

show tables from tpcds.sf100

在這裏插入圖片描述

從表名字來看,就是標準的tpcds benchmark 的測試數據了。不管三七二十一,先看看數據量大小:

在這裏插入圖片描述

在這裏插入圖片描述

對比結果比較明瞭,sf後綴的數值越大,數據量也越大。

順手我就跑了幾個tpcds標準的查詢。 先從數據量小的跑一個吧:

use tpcds.sf1;
select dt.d_year 
 , item.i_brand_id brand_id 
 , item.i_brand brand
 , sum(ss_ext_sales_price) sum_agg
from date_dim dt 
 , store_sales
 , item
where dt.d_date_sk = store_sales.ss_sold_date_sk
    and store_sales.ss_item_sk = item.i_item_sk
    and item.i_manufact_id = 436
    and dt.d_moy=12
group by dt.d_year
 ,item.i_brand
 ,item.i_brand_id
order by dt.d_year
 ,sum_agg desc
 ,brand_id
limit 100;

在這裏插入圖片描述

在這裏插入圖片描述

總耗時46秒, 處理了297萬行數據, 印象還不錯。

換個數據大的,在換個更復雜的聯合查詢試了一下:

use tpcds.sf100;
with
    customer_total_return
    as
    (
        select sr_customer_sk as ctr_customer_sk 
            , sr_store_sk as ctr_store_sk 
            , sum(SR_FEE) as ctr_total_return
        from store_returns 
            , date_dim
        where sr_returned_date_sk = d_date_sk and d_year =2000
        group by sr_customer_sk 
            ,sr_store_sk
    )
select c_customer_id
from customer_total_return ctr1 
    , store 
    , customer
where ctr1.ctr_total_return > (
        select avg(ctr_total_return)*1.2
        from customer_total_return ctr2
        where ctr1.ctr_store_sk = ctr2.ctr_store_sk
    ) 
    and s_store_sk = ctr1.ctr_store_sk 
    and s_state = 'NM' 
    and ctr1.ctr_customer_sk = c_customer_sk
order by c_customer_id
limit 100;

值得注意的是,cli 界面也會顯示執行過程。

在這裏插入圖片描述

在這裏插入圖片描述

可以看到,總耗時2分46秒處理了近6千多萬記錄。

實際上,我們去WEB UI 界面上去看,瀏覽器登陸http://localhost:8090, 可以看到整個執行中間過程,包括內存使用,數據傳輸率等信息。

在這裏插入圖片描述

初步體驗感受

整個安裝過程比較簡單,一鍵式無需干預。 腳本也完成了創建用戶、校驗/安裝jdk依賴、配置以及默認數據源的添加等操作,對於我們初嘗openLooKeng 來說非常方便,省去了閱讀冗長安裝部署的文檔。

從使用openLooKeng的角度而言,我還需要做更多的探索。目前是單節點運行,且體驗了內置數據源。下一步,我先了解下openLooKeng的connector, 然後試着去連接更多的真實數據源。 如果能找到更多的機器,我也會試一下多節點安裝,以及多節點部署後的openLooKeng 是否會帶來性能的極大提升。

to be continued : )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章