kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)

Posted double_kill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)相关的知识,希望对你有一定的参考价值。

kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)

 

说明:

jdbc数据源,本质上还是hive数据源。

由于数据库做大表关联方面性能还是不行。所以kylin的默认数据源仍然是hive,我觉得是非常合理的。

对应jdbc数据源,其实就是一种便利的方式。其基本原理就是通过连接数据库,选取所要用的表(或者sql查询)。

通过sqoop并行的抽取数据,并按照表名生成对应的hive表。cube的构建就根据生成的hive表进行。

每次构建的时候都重新抽取数据,生成hive表,构建完成之后,就把这个hive表删除掉。

相当于是自动做了之前开发需要 自己做的数据同步到hdfs、新建hive表、同步hive表到kylin这些繁琐重复的工作。

 

缺点:

1、基于以上说明,很容易得出其缺点就是这些hive表是瞬时的。每次构建都要现场去抽取全量的数据(从而增大了数据库的压力,增加了网络开销,并且拖慢了cube整体构建速度)。(这里可以通过定制其源码改成可配置的增量更新的方式,会更好用;但是要考虑表结构变更,是删除全表重建,还是要怎么处理)

2、由于表是瞬时的,就不能同时把这些表提供给其他方使用。

3、数据源方式不能共用,就是不能同时使用hive和jdbc数据源。这个对需要大数据平台处理的数据就不那么友好了,数据处理完再写会数据库会非常慢。

 

 

参考其官网说明和git

https://issues.apache.org/jira/browse/KYLIN-3044

 

 

 设置sqoop导入的默认并行度

 

以上是关于kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)的主要内容,如果未能解决你的问题,请参考以下文章

使用Java代码通过JDBC连接只启用Sentry的Impala异常分析

如何登录mysql? cmd怎么连接mysql数据库||从MYSQL客户端登录MYSQL

2w字期末作业这样写,老师看了直说好。MYSQL JDBC编程从0开始,到创建一个图书管理系统

使用 JDBC 时如何为 SQL 语句启用日志记录

Java 虚拟机 --初见

Oracle JDBC 优化:在 Spring 引导应用程序中启用 PreparedStatement 缓存