问题标签 [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.
java - Apache Kafka Consumer - 分析平台 - 可视化数据
我是 Apache Kafka 和数据分析的新手。
我能够在 Java 中使用来自 Apache kafka 消费者的消息。
现在我想获取这些实时数据并像仪表板一样显示它。
我想使用任何开源工具可视化所有这些数据。
我发现的一个工具是 Druid,但提供的文档不足以学习和继续使用它。
我还读到 Druid 很难在生产环境中安装和部署。
还有其他可用的工具吗?任何帮助表示赞赏。
count - Druid 查询不返回不区分大小写的计数聚合结果
理想情况下,我需要计算城市名称中使用“伦敦”的次数。但是查询返回的“london”、“London”和“LoNdOn”等值不同。我曾尝试使用不区分大小写作为选项,但它没有给我所需的结果。
这是我的查询,
这是我的结果:
我应该得到类似的东西:
apache-kafka - Druid with Kafka Ingestion:过滤数据
在从 Kafka 到 Druid 的摄取过程中,是否可以按维度值过滤数据?
例如考虑维度:version
,可能有值:,,v1
我只想加载。v2
v3
v2
我意识到可以使用 Spark/Flink/Kafka Streams 来完成,但也许有一个开箱即用的解决方案
indexing - 德鲁伊索引任务中的段粒度;索引期间的确切含义和含义
在德鲁伊中,我仍然不太了解这个“segmentGranularity”。这个页面很模糊:http ://druid.io/docs/latest/design/segments.html 。它继续提到segmentGranularity,但它更多地谈论间隔(在第一段中)。
无论如何,此时我的数据量并没有那么大。该页面提到 300mb-700mb 是段的“理想”大小。实际上,我可以将一周的数据放入一个片段中。这就是为什么我正在考虑在我的索引任务 json 中将 segmentGranularity 设置为“week”:
但是,我计划每隔一小时进行一次批量索引(这通常只会在同一天(重新)处理数据)。所以这就是为什么我在上面的“间隔”字段中只放了一个间隔,跨越一天。
我的问题:当 segmentGranularity 设置为周(而不是天)时,这将如何工作?它会为整个段(一周)重建多维数据集吗?这是我不想要的;我只想为这一天重建立方体。
谢谢,拉卡
hadoop - Druid 批量索引 inputSpec 类型粒度,错误“作业中未指定输入路径”
我正在按照此处编写的说明进行操作:http: //druid.io/docs/0.9.2/ingestion/batch-ingestion.html(滚动到“InputSpec 规范”,查找“粒度”)。
我在我的索引任务 JSON 中有:
我已经像这样在 HDFS 中组织了我的文件(我是故意这样做的,以为我会在索引任务中使用“粒度”类型):
我不断收到此错误(索引失败):
谷歌了一下,有两个页面在谈论同样的问题:
- https://groups.google.com/forum/#!topic/druid-user/xKYgGv983ZQ
- https://groups.google.com/forum/#!topic/druid-user/B2YxNQ8UQR4
两者都提到将“filePattern”的值设置为“.*”。这样做了,没有运气。
为了确认我的 Druid-Hadoop 链接有效,我尝试将 inputSpec 更改为静态:
有用。所以,我的 Druid 和 Hadoop 没问题。
这个“粒度” inputSpec 在 Druid 中是否被破坏(我使用的是 0.9.2)?因为我在 inputSpec (粒度类型一)中没有看到任何错误;至少不是根据我阅读的文档和论坛。
与此同时,我可以使用静态的(并构建我的冗长路径字符串),但“粒度”类型将是理想的(如果它有效的话)。
任何人都可以在这里阐明一下吗?
谢谢。
r - 需要有关适合 Apache Spark 的时间序列数据库解决方案的建议
例如,假设我希望分析几个月的公司数据的趋势。我计划使用 MLP 进行回归分析和分类。
一个月的数据有大约 100 亿个数据点(行)。数据有 30 个维度。12 个特征是数字的(整数或浮点数;连续)。其余的都是分类的(整数或字符串)。
目前,数据存储在平面文件 (CSV) 中,并分批处理和交付。数据分析在 R 中进行。
我想要:
- 将其更改为流处理(而不是批处理)。
- 将计算卸载到Spark 集群
- 将数据存放在时间序列数据库中,以方便读取/写入和查询。
另外,我希望集群在将数据加载到内存时能够从数据库中查询数据。
我有一个Apache Kafka系统,可以发布处理过的输入数据的提要。我可以编写一个 Go 模块将其连接到数据库中(通过 CURL 或 Go API,如果存在)。
已经有一个开发 Spark 集群可供使用(假设它可以根据需要进行扩展,如果需要的话)。
但我坚持选择数据库。有很多解决方案(这里是一个非详尽的列表),但我正在研究OpenTSDB、Druid和Axibase Time Series Database。
我简要介绍过的其他时间序列数据库似乎更像是针对处理度量数据进行了优化。(我看过 InfluxDB、RiakTS 和 Prometheus)
Spark 在 Hadoop、Mesos、独立或云中运行。它可以访问各种数据源,包括 HDFS、Cassandra、HBase 和 S3。- Apache Spark 网站
此外,时间序列数据库应该以直接向 Spark 公开的方式存储该数据(因为这是时间序列数据,它应该是不可变的,因此满足 RDD 的要求- 因此,它可以本地加载通过 Spark 进入集群)。
加载数据(或通过删除分类元素而降低维度的数据)后,使用 sparklyr(Spark 的 R 接口)和 Spark 的机器学习库(MLib,此备忘单提供功能的快速概述),回归和分类模型可以进行开发和试验。
所以,我的问题:
- 这似乎是处理大数据的合理方法吗?
- 我选择的数据库解决方案是否正确?(我准备使用列式存储和时间序列数据库,请不要推荐 SQL/关系 DBMS)
- 如果您以前从分析和系统的角度(就像我在做这两个)的角度对集群进行数据分析,您有什么建议/提示/技巧吗?
任何帮助将不胜感激。
druid - 德鲁伊数据存储中时间戳字段的精度是多少?
一个 druid 条目具有时间戳、维度和指标。
摄取条目 (CSV) 的示例(来自网站):
我有一堆由单个节点快速连续读取的读数。它以纳秒精度记录数据。我的问题是,“德鲁伊可以处理时间戳的纳秒精度吗? ”。
这些不必实时处理,对数据库的摄取可以平衡服务器上的负载。查询将不是问题。
我将不胜感激有关时间戳的规范/文档的链接。我查看了文档,但找不到与此问题相关的任何内容。
time-series - Druid - 按时间戳列排序数据
我已经建立了一个Druid
集群来从Kafka
.
问题
- 是否
Druid
支持获取按 排序的数据timestamp
?例如,假设我需要从数据源 X 中检索最新的 10 个条目。我可以通过使用包含时间戳字段的LimitSpec
(在 中)来做到这一点吗?Query JSON
还是支持其他更好的选择Druid
?
提前致谢。
druid - 没有已知的驱动程序来处理“jdbc:calcite:model=druid/src/test/resources/druid-wiki-model.json
我正在尝试用德鲁伊运行方解石和 sqlline。我从方解石下载网站下载了 ZIP,并将其放在 druid 文件夹中。当我尝试运行 sqlline 命令时
从方解石文件夹中它会引发驱动程序错误
No known driver to handle "jdbc:calcite:model=druid/src/test/resources/druid-wiki-model.json"
。我是否缺少一些驱动程序或安装?
druid - Druid - 获取按时间排序的前 X 个记录,按一组维度分组?
是否可以获得按时间排序、按一组维度分组的前 X 条记录?
例子:
这是一个虚构的例子,旨在简单地说明问题。
给定以下格式的数据源,如何获取最近 10 人的购买,以及他们最近的购买金额和产品名称?
所以结果是 10 个独特的人,以及他们最近的购买金额和产品名称。
数据源架构:
我尝试过的事情:
选择查询
这不会进行任何分组,但会按时间对最近的 10 条记录进行排序。问题是它们不是唯一的。
分组查询
这按所有维度和指标进行分组,而不是仅按 first_name、last_name、customer_id 分组 - 然后采用最新的 product_name 和 purchase_amount。
因此,您将有 10 条记录,但它们不会是 10 个独特的人。仅列出了 10 种独特的指标和维度组合。
也不是按时间排序的。