Data Visualization Chapter 10: davinci extended data source support

    In davinci's default data source driver configuration file, only mysql and oracle are configured. But jar only has mysql driver jar package, so davinci only supports connecting to mysql data source by default.


1. Modify the data source driver configuration file

(1) Enter the config folder in the davinci installation directory

cd $DAVINCI3_HOME/config

(2) Modify the data source driver configuration template

mv datasource_driver.yml.example datasource_driver.yml

(3) Edit the data source driver and add content (support kylin and impala data sources)

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: \"


2. Upload the corresponding driver jar package to the $DAVINCI3_HOME/lib directory

I have uploaded the driver jar packages of oracle, kylin, and impala to the network disk. The address of the network disk is at the end of Chapter 1 of this set of articles.


Three, restart davinci

sh $DAVINCI3_HOME/bin/stop-server.sh

sh $DAVINCI3_HOME/bin/start-server.sh

So far, your davinci supports 4 data sources


Fourth, configure the connection string of the data source in davinci

(1) mysql format

jdbc:mysql://IP:port/library name

(2) Oracle format

jdbc:oracle:thin:@IP:port:instance name

(3) kylin format

jdbc:kylin://IP:port/project name

(4) impala format

jdbc :impala://IP :port/library name


Attachment: when connecting to oracle

Error 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)


Solution:

    The problem of the driver package version is to replace ojdbc14 with ojdbc6



Guess you like

Origin blog.51cto.com/51power/2539835