乐趣区

关于云原生:快速开始-PieCloudDB-Database数据实例演示

新一代云原生虚构数仓 PieCloudDB「云上云」版(Cloud on Cloud)已于 2023 年 3 月 14 日重磅公布。本篇博客将从导入数据⼊⼿,联合虚构电商销售数据等实例,具体展现查问计算和查问历史等性能,疏导您疾速理解和上⼿ PieCloudDB 云上云版本。具体的视频解说请参照疾速上手 PieCloudDB 视频。

本篇内容大抵分为以下五个局部:

  • 建设虚构数仓
  • 新建文件夹和 SQL 文件
  • 简略实例:建设数据库和表
  • 简单实例:数据上传 — 虚构电商销售数据
  • 查问评估:查问历史性能利用

数字计算第一步:虚构数仓

登录 PieCloudDB 云上云版本(app.pieclouddb.com),进入主界面,在左侧菜单栏点击「虚构数仓」。

进入「虚构数仓」界面,点击右上角「新建虚构数仓」创立一个新的虚构数仓。

填写虚构数仓名称,节点数,节点大小和备注。实现后,点击「确认」启动虚构数仓。

期待虚构数仓状态从启动中更新为运行中,即可应用该虚构数仓执行 SQL 工作。

新建文件夹和 SQL 文件

虚构数仓创立实现且处于运行中后,咱们点击「数据洞察」进入「数据洞察」界面。点击图中的文件夹图标创立文件夹。

填入文件夹名称,点击「确认」。

点击如图所示文件图标,建设一个新的 SQL 文件。

点击文件栏内文件名右侧「···」按钮,可重命名、挪动、删除或导出文件。

点击「重命名」,将文件重命名为“demo_query”,点击「确认」实现重命名。

创立 SQL 文件后,即可在文件内书写查问语句,执行 SQL 工作。PieCloudDB 会主动保留更新的 SQL 文件。

简略实例:建设数据库和表

在确保有可用的虚构仓库后,关上一个 SQL 文件(这里咱们以先前创立的文件 demo_query 为例),输出以下查问语句。

create database testdb;

在运行以上查问前,抉择对应的数据库和虚构数仓执行 SQL 工作。这里咱们抉择初始数据库「openpie」,并抉择一个可用的虚构数仓「虚构数仓 1」。

选中该语句并点击执行,执行该查问语句。

结果显示如下,数据库已创立胜利。

若想在新建的数据库中创立新表,按如图所示将执行查问的数据库切换为新建的数据库「testdb」。

执行以下语句,创立一个存储电影数据的数据表。

create table test_table (ID char(10),
Name char(50),
Length int,
Date char(10),
Type char(20)
);

和先前创立数据库的例子类似,在 PieCloudDB 中选中并执行该语句。

数据表建设后,运行以下 SQL 语句,在该表中新增两条记录。

insert into test_table VALUES
('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
('HG120', 'The Dinner Game', 140, '1985-02-10', 'Comedy');

运行以下 select 语句,在数据表中查看新增的记录。

select * from test_table;

在 PieCloudDB 中后果如图所示。

简单实例:数据上传 — 虚构电商销售数据

在初步理解 PieCloudDB「数据洞察」性能后,咱们在这个根底上利用「数据集成」性能,上传更大的数据文件并对数据进行剖析。这里咱们上传的虚构电商销售数据结构大抵如下。

首先,来到「数据洞察」,运行以下 SQL 语句,创立数据所须要的数据库。

create database 线上销售数据;

与先前简略实例类似,切换执行查问的数据库到「线上销售数据」。运行以下语句,在「线上销售数据」中创立三个 schema。

create schema 服装销售数据;
create schema 食品销售数据;
create schema 顾客数据;

有了以上 schema 后,咱们即可运行以下语句,在各个 schema 上创立对应的表。

「食品销售数据」schema——食品相干数据数据:

-- 食品产品数据
create table 食品销售数据. 食品产品数据 (产品编号 VARCHAR(10) NOT NULL,
  原料 VARCHAR(5),
  类型 VARCHAR(5),
  价格 FLOAT,
  库存 INT,
  产品图片 TEXT
);

-- 2020 年至 2023 年食品交易数据
create table "食品销售数据". 交易数据_2020_2023 (交易编号 VARCHAR(10) NOT NULL,
  顾客序号 VARCHAR(10) NOT NULL,
  产品编号 VARCHAR(10) NOT NULL,
  交易日期 VARCHAR(10),
  交易工夫 TIME,
  件数 INT,
  平台 VARCHAR(5)
);

「服装销售数据」schema——服装相干数据数据:

-- 服装产品数据
create table 服装销售数据. 服装产品数据 (产品编号 VARCHAR(10) NOT NULL,
  色彩 VARCHAR(5),
  类型 VARCHAR(5),
  价格 FLOAT,
  库存 INT,
  产品图片 TEXT
);

-- 2020 年至 2023 年服装交易数据
create table "服装销售数据". 交易数据_2020_2023 (交易编号 VARCHAR(10) NOT NULL,
  顾客序号 VARCHAR(10) NOT NULL,
  产品编号 VARCHAR(10) NOT NULL,
  交易日期 VARCHAR(10),
  交易工夫 TIME,
  件数 INT,
  平台 VARCHAR(5)
);

「顾客数据」schema——用户相干信息:

-- 2020 至 2023 年顾客数据
create table 顾客数据. 顾客数据_2020_2023 (顾客序号 VARCHAR(10) NOT NULL,
  顾客姓名 VARCHAR(5),
  生日 DATE,
  注册日期 DATE,
  手机号 VARCHAR(11),
  省份 VARCHAR(10),
  城市 VARCHAR(10),
  地区 VARCHAR(10),
  地址 VARCHAR(100)
);

创立完所需的表后,逐个上传数据文件至对应的表中。点击左侧菜单栏「数据集成」,抉择「导入数据」,进入界面后再抉择右上角导入数据,开始导入数据。

进入「导入数据」界面后,依照如图所示的步骤,上传数据文件至对应数据表。

导入文件后,可点击文件名左侧靠右眼睛式样的图标预览文件,也可点击该地位靠左齿轮式样的图标批改文件的上传选项。右侧的「点击开始」可上传单个文件至数据库。

PieCloudDB 也可上传多份数据至同一数据表中。如图所示,服装交易数据由多个数据文件组成。

在多个文件的状况下,最下侧的「高级选项」可调整全局的文件上传选项。如个别文件须要独自设置上传选项,如前文提及的一样,点击相应文件名左侧的设置按钮可进行独自设置。因为文件泛滥,这里点击「全副开始」可顺次上传多个文件。

数据加载到各个表中后,咱们能够执行一些联结查问来进行数据分析。

以下 SQL 语句可创建两个视图,一个基于食品交易信息,另一个基于服装交易信息,这样咱们能够依据交易的个性,疾速查问到对应的商品以及购买商品顾客的信息。

-- 基于服装交易的视图
create view "服装销售数据"."交易数据全副信息_2020_2023" as (
  select "交易编号",a."顾客序号", a."产品编号", "交易日期", "交易工夫", "件数", "平台", "色彩", "类型", "价格", "库存", "产品图片", 
    "顾客姓名",c."生日","注册日期","省份","城市","地区","地址"
    from "服装销售数据"."交易数据_2020_2023" as a 
    left join "服装销售数据"."服装产品数据" as b 
    on a."产品编号" = b."产品编号" 
    left join "顾客数据"."顾客数据_2020_2023" as c
    on a."顾客序号" = c."顾客序号"
    order by a."交易日期" desc
);

-- 基于食品交易的视图
create view "食品销售数据"."交易数据全副信息_2020_2023" as (
  select "交易编号",a."顾客序号", a."产品编号", "交易日期", "交易工夫", "件数", "平台", "原料", "类型", "价格", "库存", "产品图片", 
    "顾客姓名",c."生日","注册日期","省份","城市","地区","地址"
    from "食品销售数据"."交易数据_2020_2023" as a 
    left join "食品销售数据"."食品产品数据" as b 
    on a."产品编号" = b."产品编号" 
    left join "顾客数据"."顾客数据_2020_2023" as c
    on a."顾客序号" = c."顾客序号"
    order by a."交易日期" desc
);

依据这两个视图,咱们能够轻松查问到 2022 年双十二期间以城市为单位的销售额,并依据销售额从高到低进行排序。

select a."省份", a."城市", sum(a."总价") as "销售额" 
  from (
  select "交易编号", "顾客序号", "产品编号", "交易日期", "件数"*"价格" as "总价", "省份", "城市"
      from "服装销售数据"."交易数据全副信息_2020_2023" 
  union 
  select "交易编号", "顾客序号", "产品编号", "交易日期", "件数"*"价格" as "总价", "省份", "城市" 
    from "食品销售数据"."交易数据全副信息_2020_2023"
  where "交易日期" = '2022-12-12') as a
group by "省份", "城市"
order by "销售额" desc;

执行该查问的后果如下:

能够看到,数据中销售的前 6 名都为直辖市,且前十名当中,长江以北的城市居多。(数据为虚构数据,城市信息与虚构客户随机匹配)

咱们也能够依据数据表中销售额以及顾客信息,应用 window 方程查找出服装、食品各板块生产前 10% 的顾客。

with sale_by_customer as ((select "顾客序号", sum("件数"*"价格") as "销售额", cast('服装' as varchar(5)) as "销售品种" 
    from "服装销售数据"."交易数据_2020_2023" as a
  left join "服装销售数据"."服装产品数据" as b 
    on a."产品编号" = b."产品编号" 
    group by "顾客序号" 
    order by "销售额" desc, "顾客序号")
UNION
  (select "顾客序号", sum("件数"*"价格") as "销售额", cast('食品' as varchar(5)) as "销售品种" 
    from "食品销售数据"."交易数据_2020_2023" as a
  left join "食品销售数据"."食品产品数据" as b 
    on a."产品编号" = b."产品编号" 
    group by "顾客序号" 
    order by "销售额" desc, "顾客序号")),
customer_ranking as (select *, row_number() over (partition by "销售品种" order by "销售额" desc) as ranking, count(*) over (partition by "销售品种") as cnt -- (select count(*) as cnt from clothes_sale_by_customer) as cnt 
  from sale_by_customer)
select c."顾客序号","顾客姓名","生日","注册日期","省份","城市","地区","地址", "销售品种" as "vip 销售品种"
  from customer_ranking as c
  left join "顾客数据"."顾客数据_2020_2023" as d
    on c."顾客序号" = d."顾客序号"
  where cast(ranking as decimal)/cnt <= 0.1
;

该查问语句的后果如下,顾客姓名、生日、地址、注册日期均为虚构数据。

这些用户都是服装、食品各板块的优质客户,为了晋升回购率,咱们能够思考给这些用户发放优惠政策,激励这些用户回购。

查问评估

点击左侧菜单栏的「查问历史」,即可依据状态以及执行日期查问先前 SQL 工作的申请历史。

「查问历史」提供 SQL 工作执行信息、状态、工夫等信息,试用版会为用户保留历史申请后果集的下载性能,但可供下载的后果集大小不可超过 100MB。

点击 SQL 文本可提供 SQL 工作的详细信息。

如图所示,SQL 文本上侧为工作详情,右上角的两个按钮别离提供在「数据洞察」中关上该文本和复制文本的性能。

结语

至此,咱们实现了在 PieCloudDB 上进行数据实例的演示。欢送大家登录拓数派官网收费试用 PieCloudDB「云上云」版,开启属于本人的的数据探索之旅。

退出移动版