前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wedata数据治理产品应用

Wedata数据治理产品应用

原创
作者头像
研究僧
发布2023-11-21 10:09:12
4410
发布2023-11-21 10:09:12
举报
文章被收录于专栏:产品体验优化私房菜课程

什么是Wedata

数据开发治理平台 WeData(以下简称 WeData)是位于云端的一站式数据开发治理平台,融合了包含数据集成、数据开发、任务运维的全链路 DataOps 数据开发能力,以及数据地图、数据质量、数据安全等一系列数据治理和运营能力,帮助企业在数据构建和应用的过程中实现数据价值最大化,更多见产品文档:https://cloud.tencent.com/document/product/1267/47990

以下为wedata应用场景图。

如何应用Wedata

通过腾讯云以下三个产品来模拟用户使用Wedata的真实场景。

  • MySQL服务器
  • EMR
  • Wedata

购买产品时需要注意,购买相同的地域、相同的VPC,还需要提前看一下各地域云服务的资源是否充足,以下以上海地区为例。

购买MySQL

数据库购买地址见(https://buy.cloud.tencent.com/cdb?regionId=4

可以创建一个VPC,其他产品如Wedata、EMR和MySQL都放到这个VPC下。

购买后再次确认配置( 因模拟环境使用,我购买的均为低配版本)。

购买后需要创建数据库

登录并创建数据库(streamdemo)

创建库表方式如下。

建表建库SQL ,注意时间戳为测试当天。

代码语言:javascript
复制
#建表
DROP TABLE IF EXISTS `streamdemo`.`productinfo`;
DROP TABLE IF EXISTS `streamdemo`.`productorder`;
DROP TABLE IF EXISTS `streamdemo`.`userinfo`;
#订单表
CREATE TABLE IF NOT EXISTS `streamdemo`.`productorder` (
  `product_id` int COMMENT "商品ID",
  `user_id` int COMMENT "用户ID",
  `number` int NULL COMMENT "下单数量",
  `create_time` datetime COMMENT "下单时间",
   PRIMARY KEY (`product_id`, `user_id`)
);
#商品信息表
CREATE TABLE IF NOT EXISTS `streamdemo`.`productinfo` (
  `product_id` int NULL COMMENT "商品ID",
  `product_name` varchar(100) NULL COMMENT "商品名称",
  `price` float NULL COMMENT "商品价格",
  `create_time` datetime NULL COMMENT "上架时间",
  `description` varchar(500) NULL COMMENT "商品描述"
);
#用户信息
CREATE TABLE IF NOT EXISTS `streamdemo`.`userinfo` (
  `user_id` int NULL COMMENT "用户ID",
  `user_name` varchar(100) NULL COMMENT "用户名",
  `password` varchar(100) NULL COMMENT "登录密码",
  `create_time` datetime NULL COMMENT "创建时间"
);

use streamdemo;
#初始化数据
 insert into productorder values(1001, 101, 1, '2023-11-01 15:51:06');
 insert into productorder values(1002, 102, 2, '2023-11-01 15:51:06');
 insert into productorder values(1003, 103, 3, '2023-11-01 15:51:06');
 insert into productorder values(1004, 104, 4, '2023-11-01 15:51:06');
 insert into productorder values(1005, 105, 5, '2023-11-31 15:51:06');
 insert into productorder values(1006, 106, 6, '2023-11-31 15:51:06');

 insert into productorder values(1001, 105, 21, '2023-11-01 15:51:06');
 insert into productorder values(1002, 106, 15, '2023-11-01 15:51:06');
 insert into productorder values(1003, 104, 12, '2023-11-01 15:51:06');
 insert into productorder values(1004, 103, 18, '2023-11-01 15:51:06');
 insert into productorder values(1005, 101, 6, '2023-11-01 15:51:06');
 insert into productorder values(1006, 102, 9, '2023-11-31 15:51:06');

 insert into productorder values(1001, 103, 3, '2023-11-01 15:51:06');
 insert into productorder values(1002, 101, 4, '2023-11-01 15:51:06');
 insert into productorder values(1003, 102, 18, '2023-11-01 15:51:06');
 insert into productorder values(1004, 106, 21, '2023-11-01 15:51:06');
 insert into productorder values(1005, 104, 3, '2023-11-31 15:51:06');
 insert into productorder values(1006, 105, 8, '2023-11-31 15:51:06');

 insert into productinfo values(1001, '商品1', 1, '2023-11-01 15:51:06', '最新商品1');
 insert into productinfo values(1002, '商品2', 200, '2023-11-01 15:51:06', '最新商品2');
 insert into productinfo values(1003, '商品3', 300, '2023-11-01 15:51:06', '最新商品3');
 insert into productinfo values(1004, '商品4', 400, '2023-11-01 15:51:06', '最新商品4');
 insert into productinfo values(1005, '商品5', 500, '2023-11-01 15:51:06', '最新商品5');
 insert into productinfo values(1006, '商品6', 600, '2023-11-01 15:51:06', '最新商品6');

 insert into userinfo values(101, 'user01', 'user01', '2023-11-01 15:51:06');
 insert into userinfo values(102, 'user02', 'user02', '2023-11-01 15:51:06');
 insert into userinfo values(103, 'user03', 'user03', '2023-11-01 15:51:06');
 insert into userinfo values(104, 'user04', 'user04', '2023-11-01 15:51:06');
 insert into userinfo values(105, 'user05', 'user05', '2023-11-01 15:51:06');
 insert into userinfo values(106, 'user06', 'user06', '2023-11-01 15:51:06');

创建EMR

购买EMR (https://console.cloud.tencent.com/emr)

确认配置点击购买。需要注意:

  • 每个地域的资源情况不一,测试期间推荐s5机型,当前相对资源较多(购买时以线上环境为准)
  • 如果资源不够或出现异常情况,页面会提示创建不成功,这里服务是不收费的,可以联系腾讯云客服或再次购买来解决。

Wedata

项目配置

首先创建项目

再次进入资源配置,设置好资源组、集成资源等

添加数据源

数据开发

创建hive库表

在新建的 streamdemo_hive 的数据库中,创建名为 productorder_hive、productinfo_hive、userinfo_hive 的三张hive数据表。

使用提供的建表语句,将 productorder_hive 表创建完成。productinfo_hive、userinfo_hive 表的创建方式相同。

代码语言:javascript
复制
#创建订单表
CREATE TABLE IF NOT EXISTS `streamdemo_hive`.`productorder_hive`
(
`product_id` INT,
`user_id` INT,
`number` INT,
`create_time` STRING
) 
#创建商品信息表
CREATE TABLE IF NOT EXISTS `streamdemo_hive`.`productinfo_hive`
(
`product_id` INT,
`product_name` STRING,
`price` FLOAT,
`create_time` STRING,
`description` STRING
) 
#创建用户信息表
CREATE TABLE IF NOT EXISTS `streamdemo_hive`.`userinfo_hive`
(
`user_id` INT,
`user_name` STRING,
`password` STRING,
`create_time` STRING
)

新建离线同步,将MYSQL数据同步到HIVE中。

进入编排空间,将数据库资源导入hive

创建hive表

关系映射

最终三张表链接hive,其中666(为spark sql) ,提交运行

代码语言:javascript
复制
--判断建表
CREATE TABLE IF NOT EXISTS streamdemo_hive.ads_product_agg(
 create_date string,
 user_name string,
 product_name string,
 cost FLOAT
) STORED AS ORC;
--覆盖数据
use streamdemo_hive;
insert overwrite table streamdemo_hive.ads_product_agg
select
 po.create_date,
 pi.product_name,
 ui.user_name,
 (po.sumnumber * pi.price) as cost
from(
  select
   create_date,
   product_id,
   user_id,
   sum(number) sumnumber
  from(
    select
     product_id,
     user_id,
     create_time,
     from_unixtime(
      unix_timestamp(create_time, 'yyyy-MM-dd HH:mm:ss'),
      "yyyy-MM-dd"
     ) as create_date,
     number
    from
     streamdemo_hive.productorder_hive
    where
     create_time >= '2023-09-01 00:00:00'
     and create_time <= '2023-09-01 23:59:59'
   )
  group by
   create_date,
   product_id,
   user_id
 ) po
 join (
  select
   product_id,
   product_name,
   price
  from
   streamdemo_hive.productinfo_hive
 ) pi on po.product_id = pi.product_id
 join (
  select
   user_id,
   user_name
  from
   streamdemo_hive.userinfo_hive
 ) ui on po.user_id = ui.user_id

运维中心

数据质量

统计金额

代码语言:javascript
复制
use streamdemo_hive;
select create_date,product_name,user_name,sum(cost) as sumcost from ads_product_agg where create_date >= date_add(CURRENT_DATE(),-6) and create_date<=CURRENT_DATE() group by create_date,product_name,user_name order by sumcost desc

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Wedata
  • 如何应用Wedata
    • 购买MySQL
      • 创建EMR
        • Wedata
          • 项目配置
          • 数据开发
          • 运维中心
          • 数据质量
          • 统计金额
      相关产品与服务
      数据开发治理平台 WeData
      数据开发治理平台 WeData(以下简称 WeData)是位于云端的一站式数据开发治理平台,融合了包含数据集成、数据开发、任务运维的全链路DataOps数据开发能力,以及数据地图、数据质量、数据安全等一系列数据治理和运营能力,帮助企业在数据构建和应用的过程中实现降本增效,数据价值最大化。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档