IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Zeppelin 集成TDengine 的探索与实践 -> 正文阅读

[大数据]Zeppelin 集成TDengine 的探索与实践

背景

大多数互联网企业都提供有类似Notebook类的产品,采用交互式的方式进行数据分析、数据建模及数据可视化。主要实现大多都是基于jupyter 、Zeppelin进行定制化开发,重点会打通大数据计算、存储及底层资源管理,支持常见的机器学习和深度学习计算框架。
TDengine是一个高效的存储、查询、分析时序大数据的平台,专为物联网、车联网、工业互联网、运维监测等优化而设计。 在时序空间大数据处理上,有着自己独到的优势,Zeppelin支持标准jdbc规范的数据源接入,可以在zeppelin notebook中去执行标准的数据库语句,进行增删改以及数据分析和结果可视化,TDengine 提供了jdbc 连接方式,按道理通过配置就能够支持TDengine的使用。
文章主要分几个方面进行介绍,先对Zeppelin、TDengine 进行介绍,接着会讲下Zeppelin 的配置TDengine的实践,包括在本机上如何启动zeppelin 、配置TDengine interpreter 、TdEngine的使用案例,以及在这过程中遇到的问题。

TDengine 简介

TDengine是涛思数据专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源(开源协议,AGPL v3.0)。

Zeppelin介绍

Apache Zeppelin是一款大数据分析和可视化工具,可以让数据分析师在一个基于Web页面的笔记本中,使用不同的语言,对不同数据源中的数据进行交互式分析,并对分析结果进行可视化的工具。可以承担数据接入、数据分析、数据可视化、以及大数据建模的全流程,前端提供丰富的可视化图形库,后端支持Spark、HBase、Flink 等大数据系统,并支持Spark、Python、JDBC、Markdown、Shell 、ES等各种常用Interpreter,这使得开发者可以方便地使用SQL 在 Zeppelin 中做数据开发,同时还能够定制自己的解释器。

在这里插入图片描述

TDengine集成实践

tdengine安装

这里采用docker快速安装部署,只不过要注意的需要通过端口映射(-p),将容器内部开放的网络端口映射到宿主机的指定端口上。通过挂载本地目录(-v),可以实现宿主机与容器内部的数据同步,防止容器删除后,数据丢失。

容器启动指令如下:
启动一个运行了 TDengine 的 docker 容器,并且将容器的 6030-6041 范围端口映射到宿主机的 6030-6041 端口上。

docker run -d -v /etc/taos:/etc/taos  -p 6030-6041:6030-6041 --name=td tdengine/tdengine

通过 RESTful 接口访问 TDengine,这时连接的是本机的 6041 端口可以连接连接成功。

curl -u root:taosdata -d 'show databases' 127.0.0.1:6041/rest/sql
{"status":"succ","head":["name","created_time","ntables","vgroups","replica","quorum","days","keep0,keep1,keep(D)","cache(MB)","blocks","minrows","maxrows","wallevel","fsync","comp","cachelast","precision","update","status"],"column_meta":[["name",8,32],["created_time",9,8],["ntables",4,4],["vgroups",4,4],["replica",3,2],["quorum",3,2],["days",3,2],["keep0,keep1,keep(D)",8,24],["cache(MB)",4,4],["blocks",4,4],["minrows",4,4],["maxrows",4,4],["wallevel",2,1],["fsync",4,4],["comp",2,1],["cachelast",2,1],["precision",8,3],["update",2,1],["status",8,10]],"data":[["log","2021-07-29 08:17:12.639",4,1,1,1,10,"30,30,30",1,3,100,4096,1,3000,2,0,"us",0,"ready"]],"rows":1}

在这里插入图片描述

zeppelin安装和下载

Zeppelin 安装下载不做太多说明,下载到本地目录后直接sh bin/zeppelin-daemon.sh start就启动好了
tdengine包准备:taos-jdbcdriver-2.0.33.jar

Zeppelin解释器配置

新增解释器

在这里插入图片描述

配置tdengine解释器

在这里插入图片描述

这里主要是解释器名称和解释器组配置:
解释器名称:tdengine
解释器组选择 :jdbc
default.url配置:jdbc:TAOS://127.0.0.1:6041/test?user=root&password=taosdata
default.driver: com.taosdata.jdbc.TSDBDriver

之后在使用过程中会遇到 java.lang.UnsatisfiedLinkError: no taos in java.library.path问题,查了文档才发现如果使用jdbc-jni需要依赖本地函数库,使用 JDBC-RESTful 接口,不需要依赖本地函数库。

修正后的配置

在这里插入图片描述

使用 JDBC-RESTful 的 driver,建立了127.0.0.1: 6041,数据库名为 test 的连接。这个 URL 中指定用户名(user)为 root,密码(password)为 taosdata。

依赖包配置

在这里插入图片描述

这里会遇到一个问题如下所示:

java.lang.NoClassDefFoundError: org/apache/http/HttpRequest
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)

官方提供的taos-jdbcdriver-2.0.33.jar包是不会包含httpclient这些依赖包的,因此后面通过修改pom.xml文件重新编译打包生成包含依赖的jar包

maven-assembly-plugin jar-with-dependencies

最终的依赖包配置如下:taos-jdbcdriver-2.0.34-jar-with-dependencies.jar

在这里插入图片描述

TDengine使用

创建一个note

在这里插入图片描述

查看数据库

在这里插入图片描述

新建数据库

在这里插入图片描述

查询数据

在这里插入图片描述

结果可视化

在这里插入图片描述

在这里插入图片描述

总结和展望

Zeppelin notebook可以满足数据开发、数据分析及产品运营报表分析以及大数据交互式建模,TDengine的集成可以丰富zeppelin的数据来源,通过notebook提供的可视化工具可以非常方便展示各种结果,企业如果有查询、分析可视化分析,可以非常方便的进行集成和显示,在实践过程中主要还是会遇到一些环境上的问题,基本上根据错误提示就能够很快进行定位,得益于tdengine 支持的jdbc标准的驱动器能够方便的进行开发和适配。

参考资料
https://zeppelin.apache.org/
https://github.com/taosdata/TDengine
https://www.taosdata.com/cn/documentation/connector/java

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:48:25  更:2021-07-30 12:50:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 8:26:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码