如何基于zeppelin JDBC Interpreter进行jdbc数据源的可视化交互分析

如何基于zeppelin JDBC Interpreter进行jdbc数据源的可视化交互分析,第1张

如何基于zeppelin JDBC Interpreter进行jdbc数据源可视化交互分析

Zeppelin 是一个基于Web的notebook提供数据可视化交互分析的WEB程序。

通过Zeppelin,你做出可数据驱动的、可交互且可协作的精美文档。
Zeppelin支持多种语言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等等。

通过zeppelin的JDBC Interpreter,可以针对所有jdbc数据源进行可视化交互分析。,JDBC Interpreter目前除支持主流的RMDB数据库外,还支持基于spark、flink、hive计算框架进行SQL分析。

什么是Zeppelin?

Zeppelin: Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala, Python, R and more.

特点如下:

Multi-purpose Notebook
The Notebook is the place for all your needs

Data IngestionData DiscoveryData AnalyticsData Visualization & Collaboration Multiple Language Backend:

通过Zeppelin解释器允许将任何语言/数据处理后端集成到Zeppelin中目前支持 Spark, Apache Flink, Python, R, JDBC, Markdown and Shell,详见下图 Data visualizationPivot chart:通过简单的拖拽实现数据的透视Dynamic forms,详见dynamic_formCollaborate by sharing your Notebook & Paragraph100% Opensource

zeppelin部署

官网地址

第三方软件依赖:
- OpenJDK or Oracle JDK 1.8 (151+)

下载并解压
#从官网下载
cd /tmp
curl -O https://dlcdn.apache.org/zeppelin/zeppelin-0.10.0/zeppelin-0.10.0-bin-all.tgz

#解压
tar -zxvf zeppelin-0.10.0-bin-all.tgz -C /usr/local

#产生配置文件
cp zeppelin-env.sh.template zeppelin-env.sh
cp zeppelin-site.xml.template zeppelin-site.xml 
修改配置

vim zeppelin-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_191
#export HADOOP_CONF_DIR=/etc/hadoop/conf
#export USE_HADOOP=true

vim zeppelin-site.xml


  zeppelin.server.addr
  0.0.0.0
  Server binding address



  zeppelin.server.port
  16888
  Server port.

启动

启动后,通过jps 可以查看到名称为ZeppelinServer的进程

cd /usr/local/zeppelin
bin/zeppelin-daemon.sh start
JDBC Interpreter

JDBC解释器允许创建到任何数据源的JDBC连接,可以执行任何SQL语句,针对jdbc数据源进行可视化交互分析

详见的配置请参见 interpreter jdbc配置

下图中的数据源官方已经被测试过,本文针对clickhouse 21.8.x,OpenGauss 2.1.0测试,均能正常使用。

常见数据库的配置

mysql url后面常加参数:useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true

更多的数据库的class、url、driver的配置参见com.alibaba:druid:1.2.1中的com.alibaba.druid.util.JdbcUtils 和 com.alibaba.druid.util.JdbcConstants两个类

数据库class namejdbc-urldriver jarmysql5.xcom.mysql.jdbc.Driverjdbc:mysql://ip:port/mysql:mysql-connector-java:5.1.45mysql8.xcom.mysql.cj.jdbc.Driverjdbc:mysql://ip:port/mysql:mysql-connector-java:8.0.27postgresqlorg.postgresql.Driverjdbc:postgresql://ip:port/org.postgresql:postgresql:42.2.24mariadborg.mariadb.jdbc.Driverjdbc:mariadb://ip:portorg.mariadb.jdbc:mariadb-java-client:2.7.4hiveorg.apache.hive.jdbc.HiveDriverjdbc:hive2://ip:10000org.apache.hive:hive-jdbc:2.3.4
org.apache.hive:hive-exec:2.3.4prestoio.prestosql.jdbc.PrestoDriverjdbc:presto://ip:9090/hiveio.prestosql:presto-jdbc:350phoenixorg.apache.phoenix.jdbc.PhoenixDriverjdbc:phoenix:ip1,ip2:2181/hbaseorg.apache.phoenix:phoenix-core:4.4.0-Hbase-1.0clickhousecom.clickhouse.jdbc.ClickHouseDriverjdbc:ch://ip:port/test?socket_timeout=120000com.clickhouse:clickhouse-jdbc:0.3.2openGaussorg.postgresql.Driverjdbc:postgresql://ip:port/从官网下载并上传到服务器,此处指定绝对路径,如达梦dm.jdbc.driver.DmDriverjdbc:dm://ip:5236/db?
zeroDateTimeBehavior=convertToNull
&useUnicode=true
&characterEncoding=utf-8gbasecom.gbase.jdbc.Driverjdbc:gbase://ip:8521/dbsqlservercom.microsoft.jdbc.
sqlserver.SQLServerDriverjdbc:microsoft:sqlserver://ip:1433;
DatabaseName=dboracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@ip:1521:orclsybasecom.sybase.jdbc.SybDriverjdbc:sybase:Tds:ip:5007/db How to use

%后面跟jdbc_interpreter_name,如mysql一次可以执行多条SQL语句支持2种SQL注释:

Single line comment start with –Multiple line comment around with 连续运行SQL:通过refreshInterval(单位:毫秒),连续运行命令precode: 可以为每个数据源设置precode。precode在打开连接时运行一次。

%mysql
USE nacos;
CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
       species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
%mysql
-- single line comment
show tables;

select * from test_1;
%mysql(refreshInterval=1000)
select * from pet;
使用示例 数据统计示例
%clickhouse
SELECt
    StartURL AS URL,
    AVG(Duration) AS AvgDuration
FROM tutorial.visits_v1
WHERe StartDate BETWEEN '2014-03-23' AND '2014-03-30'
GROUP BY URL
ORDER BY AvgDuration DESC
LIMIT 10

数据可视化示例
%clickhouse
select toHour(EventTime) as hour,count() as total from tutorial.hits_v1 group by hour;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5705822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存