【阿里云流计算】- 电商多张商品表合并案例

背景

随着互联网的普及电商行业越来越火爆,但是面对成千上万的商品种类、价格明细等大量数据,怎么才能实时的抽取商家想要获取的数据呢?

了解更多阿里云流计算

步骤操作

准备工作

取2张实时更新的主键相同数据源表(ID为主键),每张表抽出带主键的一到两个字段然后写入一张大表中去!

--实时的流式源表1
CREATE TABLE datahub_input1 (
id            BIGINT,
name        VARCHAR,
age           BIGINT
) WITH (
type='datahub'
);

CREATE TABLE datahub_input2 (
id            BIGINT,
apple           BIGINT,
time         VARCHAR
) WITH (
type='datahub'
);



CREATE table result_01(
id bigint,
name VARCHAR
)with(
type='rds'
);

CREATE table result_02(
id            BIGINT,
apple           BIGINT
)with(
type='rds'
);


insert  into  result_01
select
id,
name
from
datahub_input1;

insert  into  result_02
select
id,
apple
from
datahub_input2;

测试数据

ID NAME AGE
1 11W 11
2 12W 12
ID APPLE time
1 220 11:00:00
3 221 11:10:00

测试结果

ID NAME APPLE
1 11W 220
2 12W null
3 null 221

难点解析

CREATE table result_01(
id bigint,
name VARCHAR
)with(
type='rds'
);

CREATE table result_02(
id            BIGINT,
apple           BIGINT
)with(
type='rds'
);

其实大家看上面的SQL很简单的逻辑,其实声明的这二张表是一张真实的大表,它包含了二张表的所有字段主键为相同的ID(注意:流计算不支持部分主键插入,如数据库中定义为多个的联合主键),主键相同会做UPDATE更新,字段不同不会覆盖,如果字段一样就会覆盖。如果是没有的字段就会根据数据库定义的默认值来补充!就比如上面的测试结果一样。

上一篇:【阿里云流计算】- 电商每天成交总额案例


下一篇:阿里云流计算中维表join VS 流join