关于大数据:Palo-Doris版五分钟快速入门

52次阅读

共计 3958 个字符,预计需要花费 10 分钟才能阅读完成。

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

FROM 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 界面实现了一个残缺的建库、建表、导入数据和查问流程。

起源:数据基石
作者:毛凯民

点击进入取得更多技术信息~~

正文完
 0