问题标签 [druid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
olap - 在 Druid 中,如何更新数据源集 metric1 = xxx, metric2 = yyy where dimension1 = zzz?
在德鲁伊,有可能update datasource set metric1 = xxx, metric2 = yyy where dimension1 = zzz
吗?如何?
database - 具有多列聚合的时序数据库
我正在尝试设计一个具有时间序列数据的系统。以下是系统的要求:
- 数据在一天中的任何时间从多个城市和部门进入系统。
- 这些个人记录应该终身可用。(可选的)
- 大多数查询都是聚合。但是,它们发生在多个列上。示例查询:
- 特定城市特定日期所有测量值的总和
- 一个部门(最后一个)月内所有测量值的总和
- 一个部门在一个城市(最后一个)周内所有测量值的总和
- 一个州某一天的所有测量值的总和(州也将成为记录的一部分)
- 所有查询都应该以非常低的延迟(< 300-500 ms)计算
以下是我的限制:
- 我浏览了多个时间序列数据库。据我了解,它们都需要昂贵的硬件。我想知道是否有一种方法可以在商品硬件上运行它。
- 我不确定一开始会有多少数据可用。理想情况下,峰值(每天)约为 100 MB。所以,我不愿意一开始就花几百块钱。
- 我一直在考虑的另一个想法是拥有一个 Amazon RDS 实例,并在各个列上有多个索引,并根据需要聚合它们。我不确定这是否是个好主意。
analysis - 德鲁伊队列分析?
我们收集有关我们网站流量的数据,这导致每天约有 5 万到 10 万次独立访问。
队列分析:
找出 24 小时内在网站上注册然后实际进入我们的购买页面的用户百分比(计算在注册后的第一、第二、第三等小时内有多少用户这样做的百分比)。
两个非常简短的示例文档:
- sessionId:我们用于执行计数的唯一标识符
- url:用于评估同类群组的 url
- 时间:事件的Unix时间戳
{ "sessionId": "some-random-id", "time": 1428238800000, (unix timestamp: Apr 5th, 3:00 pm) "url": "/register" }
{ "sessionId": "some-random-id", "time": 1428241500000, (unix timestamp: Apr 5th, 3:45 pm) "url": "/buy" }
如果我想在 6 个月内进行相同的聚合,并且想检查回访客户的执行群组?数据集太庞大了。
附带说明:我也对获得 100% 准确的结果不感兴趣,近似值足以进行趋势分析。
我们可以用 Druid 实现这一点吗?还是不适合这种分析?还有什么比做队列分析更好的吗?
json - 如何使用 Druid-Tranquility(用于 Superset)读取 divolte-data Kafka 通道?
在 Ubuntu 服务器上,我设置了 Divolte Collector 以从网站收集点击流数据。数据正在写入名为 divolte-data 的 Kafka 通道。通过设置 Kafka 消费者,我可以看到传入的数据:
然后我想用 Airbnb Superset 可视化数据,它有几个连接到常见数据库的连接器,包括 druid.io(可以读取 Spark)。
似乎 Divolte 以非结构化方式将数据存储在 Kafka 中。但显然它可以以结构化的方式映射数据。输入数据是否应该用 JSON 结构化(就像文档说的那样)?
然后如何从 Druid-Tranquility 读取 divolte-data Kafka 通道接收到的数据?我尝试在 conf 示例中更改通道名称,但此使用者随后收到零消息。
druid - 通过宁静将数据插入德鲁伊时抛出异常
我正在通过宁静将卡夫卡流推入德鲁伊。kafka版本是0.9.1,宁静是0.8,德鲁伊是0.10。当没有消息产生时,宁静开始很好,但是当生产者发送消息时,我会得到这样的 JsonMappingException:
我的 kafka.json 是:
我使用 kafka-console-consumer 来获取数据,它看起来像
知道为什么吗?谢谢。
aggregate - Druid:如何在没有聚合功能的情况下将数值数据添加到指标中
场景是我想设置一个股票报价服务器并将报价数据保存到德鲁伊。
我的要求是通过查询获得所有股票的最新价格。
但我注意到 druid 的查询接口(例如时间序列)仅适用于指标字段,而不适用于维度字段。
所以我考虑将价格作为指标之一,但不需要汇总。
我该怎么做?
有什么建议么?
这是我的宁静配置文件。
apache - Apache Druid 段合并任务提交失败
我正在使用 Druid 0.9.1.1 并尝试将每天数据源的所有段合并到一个段中。而合并任务启动失败并出现错误:
我从段元数据查询中获得了段详细信息。driud 文档没有帮助,因为仅指定了整体查询的原始结构,但没有指定所需的段详细结构(以下是 druid 文档的建议)。
}
示例查询:
我为“segments”键尝试了不同形式的结构,导致相同的错误。
例子 :
段合并任务的正确结构是什么。
hive - 如何执行从 hive 压缩兽人到德鲁伊的数据摄取
我正在尝试从 hdfs 中的 hive orc 压缩表数据中将数据摄取到 druid 中。对此的任何指示都会非常有帮助。
caching - 有没有其他方法可以在 Redis 中使用过期的 ttl 积极地驱逐密钥
我的用例:我使用 Redis 来存储大量数据。在 1 秒内,我在 redis 中写了大约 24k 个密钥,ttl 为 30 分钟,我希望在 ttl 过期后删除这些密钥。当前 redis 驱逐密钥的实现是在任务中工作,每个任务选择 20 个随机密钥并查看密钥是否已过期 ttl 然后删除这些密钥,redis 建议使用不超过 100 个此类任务。因此,如果我设置 hz(没有任务到 100),那么 Redis 将能够清除 tke 键 max @ 2000 个键/秒,这对我来说太少了,因为我的插入率非常高,最终导致内存不足时出现内存异常变满。
我的替代方案是:1/点击随机键,或者我们知道已经过期的键,这将在 Redis 中启动删除 2/当达到 maxmemory 时设置驱逐策略。当达到最大内存时,这将积极删除 redis 键。3/ 将 hz(频率)设置为更高的值。这将启动更多任务以每秒清除过期密钥。1/ 似乎不可行。对于 2/ & 3/ 基于当前缓存定时器 30 分钟,给定插入率,我们可以使用 maxmemory 12*1024*1024 maxmemory-samples 10 maxmemory-policy volatile-ttl hz 100
但是使用 2 意味着 redis 将一直执行删除键然后插入,因为我假设在我的情况下内存将始终等于 12 GB
那么使用这种策略好不好,还是我们应该在 Redis 上编写自己的密钥驱逐服务?
installation - 德鲁伊霸主进程无法启动错误“地址已在使用中”
在 MacOSX 10.12 上安装 druid 和 zookeeper 后,我无法让 overlord 进程按照指示运行。
我收到地址已在使用中的错误。