本文转载自百度开发者中心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

分析查询
然后可以按照我们的分析需求,执行查询操作,获取查询结果。

SELECT SUM(LO_EXTENDEDPRICE*LO_DISCOUNT) AS
REVENUE
FROM  lineorder, date
WHERE  LO_ORDERDATE = D_DATEKEY
AND D_YEAR = 1993
AND LO_DISCOUNT BETWEEN 1 AND 3
AND LO_QUANTITY < 25;

通过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版五分钟快速入门相关推荐

  1. markdown 本地链接_五分钟快速入门Markdown

    前言 开篇第一问,什么是markdown?我为什么选择用它而不是用word? markdown是一种极为简洁的标记语言,使用markdown可以更集中于写作内容本身而不必过分纠结于格式排版问题,可以把 ...

  2. Spring Data JPA 五分钟快速入门和实践

    Spring Data JPA(类似于Java Web 中的 DAO) 操作声明持久层的接口(Repository) 三个核心接口: CrudRepository PagingAndSortingRe ...

  3. 五分钟快速入门 Spring Data JPA

    Spring Data JPA(类似于Java Web 中的 DAO) 操作声明持久层的接口(Repository) 三个核心接口: CrudRepository PagingAndSortingRe ...

  4. Koala五分钟快速入门

    2019独角兽企业重金招聘Python工程师标准>>> Koala介绍 关于Koala平台更多的详细内容请访问:http://openkoala.org/ Koala Plugin的 ...

  5. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  6. 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门

    Vue.js--60分钟快速入门 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的 ...

  7. 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门

    概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...

  8. Dart语言——45分钟快速入门(上)

    文章目录 前言 视频课程 环境准备 安装Dart SDK 配置环境变量 配置 VSCode 编辑器 测试环境 基础语法 代码注释 内置数据类型 变量与常量 定义变量 定义常量 内置类型的常用操作 数值 ...

  9. thinkcmf搭建教程_5分钟快速入门

    # 5分钟快速入门 [TOC=1,5] ## 1.创建模板目录 在`public/themes/`目录下创建`quick_start`目录 ## 2.添加模板描述文件 在`public/themes/ ...

最新文章

  1. Android--SlidingDrawer的使用介绍
  2. 安卓能不能安装jar_Sentaurus TCAD安装之jedit+TCAD宏包
  3. python 天气预报 mysql_Python+PyQt5+MySQL实现天气管理系统
  4. ustc linux 网络通,USTC 网络通脚本
  5. 浅谈Taro和Apollo在开发过程中的实践
  6. MySQL数据库搜题_智慧树_MySQL数据库设计与应用_搜题公众号
  7. python基础代码大全-Python字典及基本操作(超级详细)
  8. uniapp 如何给搜索框设值_uni-app 顶部配置搜索框和左右图标
  9. imgaug图像扩充实践
  10. 30分钟!用Django做一个迷你的Todolist!下篇!
  11. 天翼去主机linux密码是什么意思,useradmin天翼初始密码 密码都是admin
  12. 前端开发-CSS快速掌握上手知识详细总结
  13. 人们怎么总跟质数过不去?
  14. 联想台式机计算机接口,接口篇:四款产品接口配置横向对比_联想ThinkCentre台式电脑_台式电脑评测-中关村在线...
  15. 硬盘测试软件黑屏,教你怎么使用硬盘检测修复工具教程
  16. 意云丰盘点:那些令网赚者疯狂的时代
  17. java中的Dao类,model类是什么意思
  18. 转 | 禁忌搜索算法(Tabu Search)求解带时间窗的车辆路径规划问题详解(附Java代码)
  19. 支持向量机 (三): 优化方法与支持向量回归
  20. 还是逆元之O(n)阶乘逆元。。。

热门文章

  1. 双剑合璧:邮件客户端与邮件系统
  2. numpy中数组维度的理解
  3. linux 模式表达式,linux正则表达式和扩展表达式
  4. 你必须懂也可以懂的微服务系列三:服务调用
  5. SpringBatch处理适配器ItemProcessorAdapter详解
  6. k8s控制器:Job和CronJob
  7. k8s:组件网络通讯方式
  8. Java synchronized的CPU层面实现细节
  9. 使用axios时遇到的Request Method: OPTIONS请求,会同时发送两次请求问题
  10. 解决逆向工程mapper映射文件不发布问题