クイックスタート PieCloudDB データベース: データ例のデモンストレーション

新世代のクラウドネイティブ仮想データウェアハウス PieCloudDB 「Cloud on Cloud」(クラウド オン クラウド)が 2023 年 3 月 14 日にリリースされました。このブログでは、データのインポートから開始し、仮想 e コマース販売データなどの例と組み合わせて、クエリ計算とクエリ履歴の機能を詳細に示し、クラウド バージョンの PieCloudDB をすぐに理解して使い始めることができるようにガイドします。詳細なビデオ説明については、「Quick Start PieCloudDB video」を参照してください

この記事の内容は大きく以下の5つに分かれています。

  • 仮想データウェアハウスを作成する
  • 新しいフォルダーとSQLファイルを作成します
  • 簡単な例: データベースとテーブルの作成
  • 複雑な例: データのアップロード -- 仮想電子商取引の売上データ
  • クエリの評価: クエリ履歴機能のアプリケーション

デジタル計算の最初のステップ: 仮想データ ウェアハウス

PieCloudDB のクラウド バージョン (app.pieclouddb.com) にログインし、メイン インターフェイスに入り、左側のメニュー バーの [仮想データ ウェアハウス] をクリックします。

「仮想データ ウェアハウス」インターフェイスに入り、右上隅の「新しい仮想データ ウェアハウス」をクリックして新しい仮想データ ウェアハウスを作成します。

仮想データ ウェアハウス名、ノード数、ノード サイズ、および備考を入力します。完了後、「確認」をクリックして仮想データウェアハウスをアクティブにします。

仮想データ ウェアハウスのステータスが開始から実行に更新されるのを待ってから、仮想データ ウェアハウスを使用して SQL タスクを実行します。

新しいフォルダーとSQLファイルを作成します

仮想データ ウェアハウスが作成され実行されたら、[データ検証] をクリックして [データ検証] インターフェイスに入ります。図のフォルダーアイコンをクリックしてフォルダーを作成します。

フォルダー名を入力し、「OK」をクリックします。

図に示すようにファイル アイコンをクリックして、新しい SQL ファイルを作成します。

ファイル欄のファイル名の右側にある「・・」ボタンをクリックすると、ファイルの名前変更、移動、削除、エクスポートを行うことができます。

「名前の変更」をクリックしてファイルの名前を「demo_query」に変更し、「OK」をクリックして名前の変更を完了します。

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 ステートメントを実行してテーブルに 2 つの新しいレコードを追加します。

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 线上销售数据;

前の簡単な例と同様に、クエリを実行するデータベースを「オンライン販売データ」に切り替えます。次のステートメントを実行して、「オンライン販売データ」に 3 つのスキーマを作成します。

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)
);

必要なテーブルを作成したら、データ ファイルを対応するテーブルに 1 つずつアップロードします。左側のメニューバーの「データ統合」をクリックし、「データのインポート」を選択してインターフェースに入り、右上隅の「データのインポート」を選択してデータのインポートを開始します。

「データのインポート」インターフェイスに入ったら、図に示す手順に従って、データ ファイルを対応するデータ テーブルにアップロードします。

ファイルをインポートした後、ファイル名の左側にある右目のアイコンをクリックしてファイルをプレビューするか、左側の歯車のアイコンをクリックしてファイルのアップロード オプションを変更できます。右側の「開始」をクリックして、単一のファイルをデータベースにアップロードします。

PieCloudDB は、データの複数のコピーを同じデータ テーブルにアップロードすることもできます。図示のように、衣料品取引データは複数のデータファイルで構成されています。

複数のファイルの場合、下部にある「詳細オプション」でグローバル ファイル アップロード オプションを調整できます。前述のように、個々のファイルにアップロード オプションを個別に設定する必要がある場合は、対応するファイル名の左側にある設定ボタンをクリックして個別に設定します。ファイルの数が多いため、複数のファイルを順番にアップロードするには、ここで「すべて開始」をクリックします。

データが個々のテーブルにロードされると、データ分析のためにいくつかのフェデレーテッド クエリを実行できます。

次の SQL ステートメントでは、食品取引情報に基づくビューと衣料品取引情報に基づくビューの 2 つのビューを作成できます。これにより、取引の特性に応じて、対応する製品とその製品を購入した顧客の情報を迅速にクエリできます。

-- 基于服装交易的视图
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
);

これら 2 つのビューによれば、2022 年のダブル 12 期間中の都市別の売上を簡単にクエリし、売上の高い順に並べ替えることができます。

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
;

クエリ文の結果は次のようになります。顧客の名前、誕生日、住所、登録日はすべて架空のデータです。

これらのユーザーは衣料品や食品分野の優良顧客であり、再購入率を高めるために、これらのユーザーに対して優遇政策を発行して再購入を促すことが考えられます。

クエリの評価

左側のメニューバーの「クエリ履歴」をクリックすると、ステータスと実行日に従って以前の SQL タスクのリクエスト履歴をクエリします。

「クエリ履歴」は、SQL タスクの実行情報、ステータス、時刻などの情報を提供します。試用版では、履歴リクエスト結果セットのダウンロード機能がユーザー向けに予約されていますが、ダウンロードできる結果セットのサイズは 100MB を超えることはできません。

SQL テキストをクリックすると、SQL タスクに関する詳細情報が表示されます。

図に示すように、SQL テキストの上部はタスクの詳細であり、右上隅の 2 つのボタンはそれぞれテキストを開く機能と「データ検証」のテキストをコピーする機能を提供します。

エピローグ

ここまでで、PieCloudDB 上のデータ インスタンスのデモンストレーションが完了しました。Tuoshupai の公式 Web サイトにログインして、PieCloudDB の「Cloud on Cloud」バージョンを無料で試し、独自のデータ探索の旅を始めてください。

 

おすすめ

転載: blog.csdn.net/OpenPie/article/details/130220451