页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1 背景

在日常工作中,很多客户都遇到过这样的困扰:就像家里有两个不同的大仓库,一个仓库(MySQL)里存放着客户的订单信息,另一个仓库(Oracle)里存放着客户的会员等级信息。现在想要知道每个会员等级对应的订单总金额,这就需要从两个仓库里分别拿出数据,再把它们拼到一起分析,这就是我们常说的跨库取数。接下来,我通过几个常见场景,带你轻松搞懂跨库取数的实现方法。

2 跨库取数

2.1 同数据库,不同catalog

场景说明:数据在同一个数据库的不同目录中(如 MySQL 的不同 catalog)。

1、V11 支持多 catalog 管理:例如连接 MySQL 时先指定某个 catalog,在”数据库表管理“中可添加其他 catalog 的数据,如下图:

2、添加其他的catalog表中,显示的也是在同一个库中:

2、数据模型直接关联多 catalog 表:数据模型支持选择多个catalog下的表:无需数据抽取,支持直连查询。


2.2 数据在不同的数据库中

场景1:使用数据模型抽取,实现跨库关联

1、创建数据模型,加入不同数据库中的,会提示需要抽取:

...

注意:使用数据模型的其他查询,比如SQL查询可视化SQL查询等都可以实现上面的效果。

场景2:使用数据模型的”ETL高级查询“跨库生成大宽表

1、在数据模型中创建”ETL高级查询“:

2、在"ETL高级查询"中通过拖拽数据源节点,选择不同的数据库,实现关联查询,如下图:

注意:如果需要俩个表之间固定关联关系,比如一定要inner join,可以通过ETL高级查询实现,并且在ETL高级查询,还可以实现各种数据处理,比如转换、过滤、元数据处理等,最终输出大宽表到缓存库中。


场景3:使用自助ETL关联成大宽表,再创建数据模型

1、创建自助ETL,具体可查看:自助ETL操作

2、通过自助ETL关联查询,并把大宽表落到目标表中:

...