栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

如何基于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 jar
mysql5.xcom.mysql.jdbc.Driverjdbc:mysql://ip:port/mysql:mysql-connector-java:5.1.45
mysql8.xcom.mysql.cj.jdbc.Driverjdbc:mysql://ip:port/mysql:mysql-connector-java:8.0.27
postgresqlorg.postgresql.Driverjdbc:postgresql://ip:port/org.postgresql:postgresql:42.2.24
mariadborg.mariadb.jdbc.Driverjdbc:mariadb://ip:portorg.mariadb.jdbc:mariadb-java-client:2.7.4
hiveorg.apache.hive.jdbc.HiveDriverjdbc:hive2://ip:10000org.apache.hive:hive-jdbc:2.3.4
org.apache.hive:hive-exec:2.3.4
prestoio.prestosql.jdbc.PrestoDriverjdbc:presto://ip:9090/hiveio.prestosql:presto-jdbc:350
phoenixorg.apache.phoenix.jdbc.PhoenixDriverjdbc:phoenix:ip1,ip2:2181/hbaseorg.apache.phoenix:phoenix-core:4.4.0-Hbase-1.0
clickhousecom.clickhouse.jdbc.ClickHouseDriverjdbc:ch://ip:port/test?socket_timeout=120000com.clickhouse:clickhouse-jdbc:0.3.2
openGaussorg.postgresql.Driverjdbc:postgresql://ip:port/从官网下载并上传到服务器,此处指定绝对路径,如
达梦dm.jdbc.driver.DmDriverjdbc:dm://ip:5236/db?
zeroDateTimeBehavior=convertToNull
&useUnicode=true
&characterEncoding=utf-8
gbasecom.gbase.jdbc.Driverjdbc:gbase://ip:8521/db
sqlservercom.microsoft.jdbc.
sqlserver.SQLServerDriver
jdbc:microsoft:sqlserver://ip:1433;
DatabaseName=db
oracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@ip:1521:orcl
sybasecom.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;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号