数据可视化第10篇:davinci扩展数据源支持

    科技2022-07-11  92

     davinci默认的数据源驱动配置文件中,只配置了mysql和oracle。但是jar只有mysql的驱动jar包,所以默认davinci只支持连接mysql数据源。

     

    一、修改数据源驱动配置文件

    (1)进入davinci安装目录中的config文件夹

    cd $DAVINCI3_HOME/config

    (2)修改数据源驱动配置模板

    mv datasource_driver.yml.example  datasource_driver.yml

    (3)编辑数据源驱动,并追加内容(支持kylin和impala数据源)

    vi  datasource_driver.yml      

    #kylin:

    #   name: kylin

    #   desc: kylin

    #   driver: org.apache.kylin.jdbc.Driver

    #   keyword_prefix: \"

    #   keyword_suffix: \"

    #   alias_prefix: \"

    #   alias_suffix: \"

     

    #impala:

    #   name: impala

    #   desc: impala

    #   driver: com.cloudera.impala.jdbc41.Driver

    #   keyword_prefix: \"

    #   keyword_suffix: \"

    #   alias_prefix: \"

    #   alias_suffix: \"

     

    二、上传对应的驱动jar包到 $DAVINCI3_HOME/lib 目录

    oracle、kylin、impala的驱动jar包,我已上传到网盘中。网盘的地址,在本套文章的第1章结尾处。

     

    三、重启davinci

    sh $DAVINCI3_HOME/bin/stop-server.sh

    sh $DAVINCI3_HOME/bin/start-server.sh

    至此你的davinci就支持4种数据源了

     

    四、在davinci中配置数据源的连接字符串

    (1)mysql格式

    jdbc:mysql://IP:端口/库名

    (2)oracle格式

    jdbc:oracle:thin:@IP:端口:实例名

    (3)kylin格式

    jdbc:kylin://IP:端口/project名称

    (4)impala格式

    jdbc:impala://IP:端口/库名

     

     

    附:连接oracle时

    错误1:

    2020-01-19 18:04:05.865  WARN 28651 --- [http-nio-192.168.8.102-8080-exec-7] c.a.druid.pool.DruidAbstractDataSource   : oracle.jdbc.driver.OracleDriver is deprecated.Having use oracle.jdbc.OracleDriver.

    2020-01-19 18:04:05.933  INFO 28651 --- [http-nio-192.168.8.102-8080-exec-7] com.alibaba.druid.pool.DruidDataSource   : {dataSource-7} inited

    licationFilterChain.java:193)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

            at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)

            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

            at java.lang.Thread.run(Thread.java:748) 

    Caused by: java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z

            at com.alibaba.druid.pool.DruidPooledConnection.isValid(DruidPooledConnection.java:1043)

            at edp.core.utils.SourceUtils.getConnection(SourceUtils.java:96)

            at edp.core.utils.SqlUtils.testConnection(SqlUtils.java:673)

            at edp.davinci.service.impl.SourceServiceImpl.testSource(SourceServiceImpl.java:404)

    解决办法:

        驱动包版本的问题 把ojdbc14换成ojdbc6即可

    Processed: 0.013, SQL: 8