- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据。
Druid应用场景:
总的来说,apache druid适合于那些对实时性要求高,待分析的源数据量大的应用业务
环境准备,基于centos7的系统,虚拟机或者阿里云服务,本篇以阿里云服务器为例进行说明
1、官网下载安装包
下载地址:https://downloads.apache.org/druid/ ,根据自己的要求下载特定的版本
2、上传至服务器指定目录并解压文件
解压之后我们进入到bin目录下,在bin目录下,存放的是各自启动脚本,在开发调试阶段,我们可以选择其中的一种类型的脚本进行启动
需要说明的是,不同的启动脚本,对于服务器的CPU配置要求是不一样的,下面列举出其中的部分启动脚本对应的CPU参数,提供参考,
单服务器参考配置
Nano-Quickstart:1个CPU,4GB RAM
启动命令: bin/start-nano-quickstart
配置目录: conf/druid/single-server/nano-quickstart
微型快速入门:4个CPU,16GB RAM
启动命令:bin/start-micro-quickstart
配置目录: conf/druid/single-server/micro-quickstart
小型:8 CPU,64GB RAM(〜i3.2xlarge)
启动命令: bin/start-medium
配置目录:conf/druid/single-server/medium
大型:32 CPU,256GB RAM(〜i3.8xlarge)
启动命令:bin/start-large
配置目录: conf/druid/single-server/large
大型X:64 CPU,512GB RAM(〜i3.16xlarge)
启动命令:bin/start-xlarge
配置目录:conf/druid/single-server/xlarge
我们这里做测试使用选择最低配置即可nano-quickstart
3、启动脚本
4、启动之后,页面访问web-ui
http://106.15.37.246:8888 ,没有其他问题的话,将会出现如下界面
5、数据摄入
apache druid作为数据分析的强大之处的其中一个点就是能比较灵活的支持从外部各种数据源导入外部数据,导入到系统之后进行分析,这里先演示使用安装包中提供的模拟数据进行导入
方式1:命令行加载
bin/post-index-task --file quickstart/tutorial/wikipedia-index.json --url http://localhost:8081
如果显示导入成功,在界面上的query一栏左侧,可以展示出导入成功后的库名称
方式2:界面导入
点击load data
选择第一个
选择local disk 并连接(表示从本地导入,这里也提供了很多其他来源,比如hdfs)
填写导入的文件位置
点击apply,并点击next
继续next
一路next来到下面这个界面时,注意那个 Query granularity 的选项,这里表示摄入的数据支持查询时候按照时间单位查询的最小单位,如天,小时,分钟还是秒
再走一步,来到下面这一步,这里的意思是,druid存储数据时会按照时间单位将数据分块进行存储,即数据块,对大数据中hdfs有一些了解的同学应该容易理解这个点,比如这里我选择按照小时存储
来到下面这里,可以将这个名称修改一下,理解为库的名称
最后点击submit
之后,界面上会出现一条任务,开始将外部的数据进行导入,这里可能需要耐心等待一会儿
看到左侧出现了最后一步我们的库名之后,说明数据导入成功
apache druid能够作为实时数据分析工具的一个强大之处在于,能够对摄入数据进行类似sql的分析,统计,像查询mysql的表一样对数据进行可视化分析,比如我们统计下刚刚摄入进来的数据个数
本篇注意演示了如何快速安装apache druid 以及快速导入本地数据到apache druid的过程,希望对看到的同学有用,本篇到此结束,最后感谢观看!
是否可以让 Druid 数据源包含 2 个(或多个)时间戳?我知道 Druid 是基于时间的数据库,我对这个概念没有问题,但我想添加另一个维度,我可以使用它来处理时间戳 例如用户保留:指标肯定是指定到
我们正在对 Druid 进行 POC,以检查它是否适合我们的用例。虽然我们能够摄取数据但不确定以下内容: druid 如何支持无模式输入:假设输入维度由最终用户自行决定。然后这里没有定义的模式。因此,
Druid 如何在将实时摄取的数据移交给深度存储之前保留它? 文档中Druid有intermedatepersistperiod和maxpendingpersists的配置。但它并没有太多说明什么是中
当我将 JSON 摄取规范发送到 Druid 霸主 API 时,我得到以下响应: HTTP/1.1 400 Bad Request Content-Type: application/json Dat
我正在尝试将以下德鲁伊 sql 查询转换为德鲁伊 json 查询,因为我拥有的列之一是多值维度,德鲁伊不支持 sql 样式查询。 我的sql查询: SELECT date_dt, source, ty
例如我有以下 Druid 查询: "filter": { "type": "and", "fields": [ { "type": "selector",
我正在尝试在超过 500k 数据限制的情况下运行 groupBy 查询。我收到此错误。 { "error": "Resource limit exceeded", "errorMess
我使用 Druid 来监控我网站中的事件。 数据可以表示如下: event_id | country | user_id | event_type ==================
我在历史节点上存储了大约 10GB 的数据。但是,该节点的内存消耗约为 2GB。 当我启动一个选择查询时,结果在 30 多秒内第一次返回。接下来,它们排在第二位(因为代理缓存)。 我关心的是将任何查询
我创建了一个架构,并向德鲁伊架构添加了 1TB 数据。然后升级了日志文件版本并添加了新的两列。然后我想将该数据添加到德鲁伊模式。但还不能。 最佳答案 为了向现有数据源添加新列,您需要按照以下步骤操作:
我有分析服务器(例如点击计数器)。我想使用一些 api 向德鲁伊发送数据。我该怎么做?我可以用它代替谷歌分析吗? 最佳答案 正如 se7entyse7en 所说: You can ingest you
我是德鲁伊新手。我想从我的 java 应用程序查询远程 druid 集群。我在 druid-user google group 中读到我们可以使用 io.druid.client.DirectDrui
Apache Druid简介 Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运
我似乎在 Druid 网站上找不到任何特定的教程/文档页面,其中列出了 Druid 中所有支持的维度数据类型。从我读了多少,我知道 long, float和 string绝对支持,但我对其他支持的类型
前言 在 上一篇文章 中,我们介绍了弹性数据库连接失效的背景,并探讨了HikariCP连接池探活策略的相关内容。在本文中,我们将会继续探讨另一个线上常用的连接池——Druid,并为您介绍如何在使
Druid是阿里巴巴开发的一个连接池,他提供了一个高效、功能强大、可扩展性好的数据库连接池,区别于hikari。如果选择高性能可以选hikari,如果要功能多就选,druid。 首先pom引入依赖
目录 Pom 依赖 yml 配置 Config 配置 Mapper扫描 Entity Mapper.xml Mapper - SysMenuMapper
我们如何在德鲁伊中写 sum(distinct col) ?如果我尝试用德鲁伊编写,它说无法构建计划,但在德鲁伊中也是可能的。我尝试转换为子查询方法,但我的内部查询返回大量项目级数据,因此超时。 最佳
我正在使用 imply 来处理德鲁伊的集群。但是我的日志文件已增加到数百 GB 的存储空间。我说的是存在于 imply/var/sv/目录中的日志文件,其中有这 7 个日志文件,broker.log、
通过遵循 http://druid.io/docs/latest/tutorials/tutorial-loading-streaming-data.html 的教程,我能够通过 Kafka 控制台将
我是一名优秀的程序员,十分优秀!