Palo Doris版五分钟快速入门
本文轉載自百度開發者中心https://developer.baidu.com/article/detail.html?id=294225
在本教程章節中,我將為大家介紹使用Palo UI快速體驗和使用Palo查詢的操作過程。
- 公有云用戶,請先參閱文檔創建一個 Palo 集群。
- 開源用戶,需要在 fe.conf 中配置 enable_http_server_v2=true 后,重啟 FE 節點。
Palo UI是Palo為大家提供的可以快速執行查詢請求和進行一些管理操作的Web UI環境。
本文檔中演示使用的demo數據和查詢例句均來自于 Star Schema Benchmark,用戶可以點擊獲取樣例數據和SQL語句。
進入Palo UI
在Palo的集群詳情頁面中,提供了Palo UI的快捷入口。
點擊Palo UI按鈕,進入Web UI環境。在登陸頁面輸入用戶名和密碼,用戶名是“admin”,密碼是用戶創建集群時填寫的密碼。
開源用戶可以在瀏覽器打開 FE 節點的 http_port 端口(默認8030)。
點擊登陸之后,就可以進入到Palo UI的主頁面,默認頁面就是Palo查詢頁面(Playground)。
Palo快速查詢頁面主要分成三個區域,左側為表管理區域,包括系統庫表和用戶自己創建的表。右上區域是SQL執行區域,右下區域為表預覽和數據導入以及執行結果區域。接下來我們在本頁面展示從建庫、建表、導入數據、查詢等主要步驟,幫助初次使用Palo的用戶體驗一次完整的使用流程。
建庫建表
在編輯器區域,我們輸入SQL語句創建一個example_db的庫。點擊執行之后,在下方可以看到執行結果,執行成功之后,刷新左側表區域,就可以在表管理區域看到新創建的example_db庫了。
CREATE DATABASE example_db;我們的demo數據一共有5份銷售相關的訂單、日期、客戶信息等數據樣例,所以我們需要創建5張對應的表。
首先我們在example_db庫中創建一個名為lineorder的表。Palo使用DISTRIBUTED關鍵字設置分桶列,分桶列用于對數據進行水平劃分,一般我們選擇一個可以幫助數據能夠均勻劃分的列作為分桶列。此處我們使用lo_orderkey作為分桶列。此處我們還設置了一個副本數為1,因為Palo默認三副本,如果我們集群只購買了一個 Compute Node,則需要手動設置副本數為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");然后我們再創建一個date表。使用d_datekey作為分桶列,并設置副本數為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");接下來我們再分別創建剩下三張表,customer,part,supplier,分別記錄了客戶、商品和供應商的詳細信息。
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 中表的信息:
導入數據
Palo 支持多種數據導入方式。具體可以參閱數據導入文檔。這里我們使用Web方式便捷導入數據做示例。
首先點擊選中需要導入數據的表
然后點擊數據導入,進入數據導入頁面
點擊“下一步”。之后先選擇導入文件的列分割符,這里我們是 \t 分割。接著選擇需要導入的數據文件
等待文件上傳完成,點擊選擇下方已上傳的文件。這時也會看到該文件按照指定分隔符分割后的預覽數據(前10行)。
點擊“下一步”進入到數據導入配置頁面,我們以“lineorder_data”為label,然后點擊“導入”按鈕。
等待片刻,可以看到數據導入的結果。其中 Status 的狀態為 Success,即表示導入成功。點擊OK之后,數據導入完成。
由于Web UI支持導入的數據大小有限,因此我們將完整的lineorder數據切分成了六份,此處我們僅導入一份數據作為演示,我們在demo文件中放置了完整數據樣本,用戶可以根據測試需求進行追加導入全部數據。
我們以同樣的方式導入表date、customer、part、supplier對應的數據。
數據查詢
簡單查詢
數據導入完成之后,我們可以執行一些查詢語句來查看數據的狀態。
可以預覽表的一部分數據。
SELECT * FROM lineorder limit 10或者統計查詢表的記錄數量。
SELECT COUNT(*) FROM lineorder分析查詢
然后可以按照我們的分析需求,執行查詢操作,獲取查詢結果。
通過Web UI,我們在頁面執行SQL,并且快速獲取查詢結果。
也可以執行多表的復雜查詢
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;頁面查詢的執行時間以及結果:
執行時間為 SQL 在服務器端實際執行耗時。因為 UI 界面經過多層代理,所以用戶感知的查詢延遲略慢于實際SQL的執行時間。
 至此,我們通過 UI 界面完成了一個完整的建庫、建表、導入數據和查詢流程。
來源: 數據基石
作者: 毛凱民
點擊進入獲得更多技術信息~~
總結
以上是生活随笔為你收集整理的Palo Doris版五分钟快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聚焦可信AI与产业应用,百度联合发起千言
- 下一篇: 代码检查规则:Python语言案例详解