说明:
jdbc数据源,本质上还是hive数据源。
由于数据库做大表关联方面性能还是不行。所以kylin的默认数据源仍然是hive,我觉得是非常合理的。
对应jdbc数据源,其实就是一种便利的方式。其基本原理就是通过连接数据库,选取所要用的表(或者sql查询)。
通过sqoop并行的抽取数据,并按照表名生成对应的hive表。cube的构建就根据生成的hive表进行。
每次构建的时候都重新抽取数据,生成hive表,构建完成之后,就把这个hive表删除掉。
相当于是自动做了之前开发需要 自己做的数据同步到hdfs、新建hive表、同步hive表到kylin这些繁琐重复的工作。
缺点:
1、基于以上说明,很容易得出其缺点就是这些hive表是瞬时的。每次构建都要现场去抽取全量的数据(从而增大了数据库的压力,增加了网络开销,并且拖慢了cube整体构建速度)。(这里可以通过定制其源码改成可配置的增量更新的方式,会更好用;但是要考虑表结构变更,是删除全表重建,还是要怎么处理)
2、由于表是瞬时的,就不能同时把这些表提供给其他方使用。
参考其官网说明和git
https://issues.apache.org/jira/browse/KYLIN-3044
设置sqoop导入的默认并行度
原文地址:https://www.cnblogs.com/double-kill/p/8909948.html
时间: 2024-11-08 07:22:06