Palo Doris版五分钟快速入门
本文轉(zhuǎn)載自百度開發(fā)者中心https://developer.baidu.com/article/detail.html?id=294225
在本教程章節(jié)中,我將為大家介紹使用Palo UI快速體驗和使用Palo查詢的操作過程。
- 公有云用戶,請先參閱文檔創(chuàng)建一個 Palo 集群。
- 開源用戶,需要在 fe.conf 中配置 enable_http_server_v2=true 后,重啟 FE 節(jié)點。
Palo UI是Palo為大家提供的可以快速執(zhí)行查詢請求和進行一些管理操作的Web UI環(huán)境。
本文檔中演示使用的demo數(shù)據(jù)和查詢例句均來自于 Star Schema Benchmark,用戶可以點擊獲取樣例數(shù)據(jù)和SQL語句。
進入Palo UI
在Palo的集群詳情頁面中,提供了Palo UI的快捷入口。
點擊Palo UI按鈕,進入Web UI環(huán)境。在登陸頁面輸入用戶名和密碼,用戶名是“admin”,密碼是用戶創(chuàng)建集群時填寫的密碼。
開源用戶可以在瀏覽器打開 FE 節(jié)點的 http_port 端口(默認8030)。
點擊登陸之后,就可以進入到Palo UI的主頁面,默認頁面就是Palo查詢頁面(Playground)。
Palo快速查詢頁面主要分成三個區(qū)域,左側(cè)為表管理區(qū)域,包括系統(tǒng)庫表和用戶自己創(chuàng)建的表。右上區(qū)域是SQL執(zhí)行區(qū)域,右下區(qū)域為表預覽和數(shù)據(jù)導入以及執(zhí)行結(jié)果區(qū)域。接下來我們在本頁面展示從建庫、建表、導入數(shù)據(jù)、查詢等主要步驟,幫助初次使用Palo的用戶體驗一次完整的使用流程。
建庫建表
在編輯器區(qū)域,我們輸入SQL語句創(chuàng)建一個example_db的庫。點擊執(zhí)行之后,在下方可以看到執(zhí)行結(jié)果,執(zhí)行成功之后,刷新左側(cè)表區(qū)域,就可以在表管理區(qū)域看到新創(chuàng)建的example_db庫了。
CREATE DATABASE example_db;我們的demo數(shù)據(jù)一共有5份銷售相關(guān)的訂單、日期、客戶信息等數(shù)據(jù)樣例,所以我們需要創(chuàng)建5張對應(yīng)的表。
首先我們在example_db庫中創(chuàng)建一個名為lineorder的表。Palo使用DISTRIBUTED關(guān)鍵字設(shè)置分桶列,分桶列用于對數(shù)據(jù)進行水平劃分,一般我們選擇一個可以幫助數(shù)據(jù)能夠均勻劃分的列作為分桶列。此處我們使用lo_orderkey作為分桶列。此處我們還設(shè)置了一個副本數(shù)為1,因為Palo默認三副本,如果我們集群只購買了一個 Compute Node,則需要手動設(shè)置副本數(shù)為1。
這個表主要定義了訂單號、訂單時間以及利潤、稅收等一些訂單主信息。
CREATE TABLE lineorder (lo_orderkey BIGINT,lo_linenumber BIGINT,lo_custkey INT,lo_partkey INT,lo_suppkey INT,lo_orderdate INT,lo_orderpriotity VARCHAR(16),lo_shippriotity INT,lo_quantity BIGINT,lo_extendedprice BIGINT,lo_ordtotalprice BIGINT,lo_discount BIGINT,lo_revenue BIGINT,lo_supplycost BIGINT,lo_tax BIGINT,lo_commitdate BIGINT,lo_shipmode VARCHAR(11) ) DISTRIBUTED BY HASH(lo_orderkey) PROPERTIES ("replication_num"="1");然后我們再創(chuàng)建一個date表。使用d_datekey作為分桶列,并設(shè)置副本數(shù)為1。這個表定義的是更加詳細一些的訂單日期信息。
CREATE TABLE date (d_datekey INT,d_date VARCHAR(20),d_dayofweek VARCHAR(10),d_month VARCHAR(11),d_year INT,d_yearmonthnum INT,d_yearmonth VARCHAR(9),d_daynuminweek INT,d_daynuminmonth INT,d_daynuminyear INT,d_monthnuminyear INT,d_weeknuminyear INT,d_sellingseason VARCHAR(14),d_lastdayinweekfl INT,d_lastdayinmonthfl INT,d_holidayfl INT,d_weekdayfl INT ) DISTRIBUTED BY hash(d_datekey) PROPERTIES ( "storage_type"="column", "replication_num"="1");接下來我們再分別創(chuàng)建剩下三張表,customer,part,supplier,分別記錄了客戶、商品和供應(yīng)商的詳細信息。
CREATE TABLE customer (c_custkey INT,c_name VARCHAR(26),c_address VARCHAR(41),c_city VARCHAR(11),c_nation VARCHAR(16),c_region VARCHAR(13),c_phone VARCHAR(16),c_mktsegment VARCHAR(11) ) DISTRIBUTED BY hash(c_custkey) PROPERTIES ( "storage_type"="column", "replication_num"="1");CREATE TABLE part (p_partkey INT,p_name VARCHAR(23),p_mfgr VARCHAR(7),p_category VARCHAR(8),p_brand VARCHAR(10),p_color VARCHAR(12),p_type VARCHAR(26),p_size INT,p_container VARCHAR(11) ) DISTRIBUTED BY hash(p_partkey) PROPERTIES ( "storage_type"="column", "replication_num"="1");CREATE TABLE supplier (s_suppkey INT,s_name VARCHAR(26),s_address VARCHAR(26),s_city VARCHAR(11),s_nation VARCHAR(16),s_region VARCHAR(13),s_phone VARCHAR(16) ) DISTRIBUTED BY hash(s_suppkey) PROPERTIES ( "storage_type"="column", "replication_num"="1");表建完之后,可以查看 example_db 中表的信息:
導入數(shù)據(jù)
Palo 支持多種數(shù)據(jù)導入方式。具體可以參閱數(shù)據(jù)導入文檔。這里我們使用Web方式便捷導入數(shù)據(jù)做示例。
首先點擊選中需要導入數(shù)據(jù)的表
然后點擊數(shù)據(jù)導入,進入數(shù)據(jù)導入頁面
點擊“下一步”。之后先選擇導入文件的列分割符,這里我們是 \t 分割。接著選擇需要導入的數(shù)據(jù)文件
等待文件上傳完成,點擊選擇下方已上傳的文件。這時也會看到該文件按照指定分隔符分割后的預覽數(shù)據(jù)(前10行)。
點擊“下一步”進入到數(shù)據(jù)導入配置頁面,我們以“l(fā)ineorder_data”為label,然后點擊“導入”按鈕。
等待片刻,可以看到數(shù)據(jù)導入的結(jié)果。其中 Status 的狀態(tài)為 Success,即表示導入成功。點擊OK之后,數(shù)據(jù)導入完成。
由于Web UI支持導入的數(shù)據(jù)大小有限,因此我們將完整的lineorder數(shù)據(jù)切分成了六份,此處我們僅導入一份數(shù)據(jù)作為演示,我們在demo文件中放置了完整數(shù)據(jù)樣本,用戶可以根據(jù)測試需求進行追加導入全部數(shù)據(jù)。
我們以同樣的方式導入表date、customer、part、supplier對應(yīng)的數(shù)據(jù)。
數(shù)據(jù)查詢
簡單查詢
數(shù)據(jù)導入完成之后,我們可以執(zhí)行一些查詢語句來查看數(shù)據(jù)的狀態(tài)。
可以預覽表的一部分數(shù)據(jù)。
SELECT * FROM lineorder limit 10或者統(tǒng)計查詢表的記錄數(shù)量。
SELECT COUNT(*) FROM lineorder分析查詢
然后可以按照我們的分析需求,執(zhí)行查詢操作,獲取查詢結(jié)果。
通過Web UI,我們在頁面執(zhí)行SQL,并且快速獲取查詢結(jié)果。
也可以執(zhí)行多表的復雜查詢
SELECT C_CITY, S_CITY, D_YEAR, SUM(LO_REVENUE)AS REVENUEFROM customer, lineorder, supplier, date WHERE LO_CUSTKEY = C_CUSTKEY AND LO_SUPPKEY = S_SUPPKEY AND LO_ORDERDATE = D_DATEKEY AND C_NATION = 'UNITED STATES' AND S_NATION = 'UNITED STATES' AND D_YEAR >= 1992 AND D_YEAR <= 1997 GROUP BY C_CITY, S_CITY, D_YEAR ORDER BY D_YEAR ASC, REVENUE DESC;頁面查詢的執(zhí)行時間以及結(jié)果:
執(zhí)行時間為 SQL 在服務(wù)器端實際執(zhí)行耗時。因為 UI 界面經(jīng)過多層代理,所以用戶感知的查詢延遲略慢于實際SQL的執(zhí)行時間。
 至此,我們通過 UI 界面完成了一個完整的建庫、建表、導入數(shù)據(jù)和查詢流程。
來源: 數(shù)據(jù)基石
作者: 毛凱民
點擊進入獲得更多技術(shù)信息~~
總結(jié)
以上是生活随笔為你收集整理的Palo Doris版五分钟快速入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聚焦可信AI与产业应用,百度联合发起千言
- 下一篇: 代码检查规则:Python语言案例详解