빠른 시작 PieCloudDB 데이터베이스: 데이터 예제 데모

차세대 클라우드 네이티브 가상 데이터 웨어하우스 PieCloudDB "Cloud on Cloud"(Cloud on Cloud)가 2023년 3월 14일에 출시되었습니다. 이 블로그는 가상 전자 상거래 판매 데이터와 같은 예제와 결합된 데이터 가져오기로 시작하여 쿼리 계산 및 쿼리 이력의 기능을 자세히 시연하고 PieCloudDB의 클라우드 버전을 빠르게 이해하고 시작할 수 있도록 안내합니다. 자세한 동영상 설명은 Quick Start PieCloudDB 동영상을 참조하세요 .

이 기사의 내용은 크게 다음 다섯 부분으로 나뉩니다.

  • 가상 데이터 웨어하우스 생성
  • 새 폴더 및 SQL 파일 만들기
  • 간단한 예: 데이터베이스 및 테이블 생성
  • 복잡한 예: 데이터 업로드 -- 가상 전자상거래 판매 데이터
  • 쿼리 평가: 쿼리 기록 기능 적용

디지털 계산의 첫 단계: 가상 데이터 웨어하우스

클라우드 버전의 PieCloudDB(app.pieclouddb.com)에 로그인하고 메인 인터페이스에 들어가 왼쪽 메뉴 표시줄에서 "Virtual Data Warehouse"를 클릭합니다.

"가상 데이터 웨어하우스" 인터페이스로 들어가 오른쪽 상단 모서리에 있는 "새 가상 데이터 웨어하우스"를 클릭하여 새 가상 데이터 웨어하우스를 생성합니다.

가상 데이터 웨어하우스 이름, 노드 수, 노드 크기 및 비고를 입력합니다. 완료 후 "확인"을 클릭하여 가상 데이터 웨어하우스를 활성화합니다.

가상 데이터 웨어하우스의 상태가 업데이트될 때까지 기다린 후 가상 데이터 웨어하우스를 사용하여 SQL 작업을 실행합니다.

새 폴더 및 SQL 파일 만들기

가상 데이터 웨어하우스가 생성되고 실행된 후 "Data Insight" 인터페이스를 시작하기 위해 "Data Insight"를 클릭합니다. 그림에서 폴더 아이콘을 클릭하여 폴더를 생성합니다.

폴더 이름을 입력하고 확인을 클릭합니다.

그림과 같이 파일 아이콘을 클릭하여 새로운 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의 "Data Insight" 기능에 대한 사전 이해 후 이를 바탕으로 "Data Integration" 기능을 사용하여 더 큰 데이터 파일을 업로드하고 데이터를 분석합니다. 여기서 가상 전자상거래 판매 데이터 구조를 대략 다음과 같이 업로드합니다.

먼저 "Data Insight"로 이동하여 다음 SQL 문을 실행하여 데이터에 필요한 데이터베이스를 생성합니다.

create database 线上销售数据;

앞의 간단한 예와 마찬가지로 데이터베이스를 전환하여 "온라인 판매 데이터"에 대한 쿼리를 실행합니다. 다음 문을 실행하여 "Online Sales Data"에 세 개의 스키마를 생성합니다.

create schema 服装销售数据;
create schema 食品销售数据;
create 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)
);

"의류 판매 데이터" 스키마 - 의류 관련 데이터 데이터:

-- 服装产品数据
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)
);

"고객 데이터" 스키마 - 사용자 관련 정보:

-- 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년 Double Twelve 기간 동안 도시별 매출을 쉽게 쿼리하고 매출에 따라 높은 것에서 낮은 것으로 정렬할 수 있습니다.

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위는 모두 중앙 직할시이며, 상위 10위 중 양쯔강 이북 도시가 대부분임을 알 수 있다. (데이터는 가상데이터, 도시정보는 가상고객과 랜덤매칭)

또한 창 방정식을 사용하여 데이터 테이블의 매출 및 고객 정보를 기반으로 의류 및 식품 분야별 상위 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
;

질의문 결과는 다음과 같으며, 고객의 이름, 생년월일, 주소, 등록일은 모두 가상의 데이터입니다.

이러한 사용자는 의류 및 식품 분야의 우량 고객이며 재구매율을 높이기 위해 이러한 사용자에게 우대 정책을 발행하여 재구매를 장려할 수 있습니다.

쿼리 평가

왼쪽 메뉴바의 "Query History"를 클릭하면 상태 및 수행 날짜에 따른 이전 SQL 작업의 요청 이력을 조회할 수 있습니다.

"Query History"는 SQL 작업 실행 정보, 상태, 시간 및 기타 정보를 제공합니다. 평가판 버전은 사용자를 위해 과거 요청 결과 집합의 다운로드 기능을 예약하지만 다운로드 가능한 결과 집합의 크기는 100MB를 초과할 수 없습니다.

SQL 텍스트를 클릭하면 SQL 작업에 대한 자세한 정보가 제공됩니다.

그림에서와 같이 SQL 텍스트의 상단은 작업 내역이며, 오른쪽 상단의 두 버튼은 각각 텍스트 열기 기능과 "데이터 인사이트"에서 텍스트 복사 기능을 제공합니다.

발문

지금까지 PieCloudDB에서 데이터 인스턴스 데모를 완료했습니다. Tuoshupai의 공식 웹사이트 에 로그인하여 PieCloudDB "클라우드 온 클라우드" 버전을 무료로 사용해 보고 나만의 데이터 탐색 여정을 시작해 보세요.

 

추천

출처blog.csdn.net/OpenPie/article/details/130220451