druid上传数据index文件配置

druid上传数据index文件配置,第1张

(1)type:表示上传的方式,本地文件上传使用index,hdfs文件上传使用index_hadoop。

(2)context(可选):用于配置一些运行参数,比如可以设置上传csv时候是否包含表头行

(3)dataSource:数据源名称,用于设置上传数据之后的表名称。

(4)spec:用于设置数据的具体配置以及转换方式,重点介绍

包含了三个字段:

(221)format:可以为csv,json,tsv,javascript、timeAndDims等

(222)timestampSpec:包含column以及format两个参数,column必选,用于指定时间戳对应的列。format用于指定时间格式,可以使用iso、millis、posix、zuto,默认为auto。

(223)columns:用于配置源文件中应该包含的所有列的列名

(224)dimensionsSpec用于指定维度列。dimensions用于指定所有的列;dimensionExclusion可选,用于指定不需要的数据,默认为空;spatialDimensions可选,用于指定列的空间限制,默认为空。

如果字段为String,那么直接列出,如果为其他类型如long/double等,需要使用{"type":"long","name":"字段名称" }单独列出,注意:配置时间戳的列不需要在dimensions中列出。

(31)type:默认为type=uniform,建议设置为uniform或arbitrary(尝试创建大小相等的字段)

(32)segmentGranularity:默认为day,用来确定每个segment包含的时间戳的范围,可以为 "SECOND" "MINUTE" "HOUR" "DAY" "DOW" "DOY" "WEEK" "MONTH" "QUARTER" "YEAR" "EPOCH" "DECADE" "CENTURY" "MILLENNIUM" 等。

(33)queryGranularity:默认为None,允许查询的时间粒度,单位与segmentGranularity相同,如果为None那么允许以任意时间粒度进行查询。

(34)rollup:是否使用预计算算法,默认为true,推荐true,比较快。

(35)intervals:使用时间段来将数据源进行限制。只有时间段内的数据可以上传。

type可以为:count、longSum、doubleSum、doubleMin\doubleMax、longMin\longMax、doubleFirst\doubleLast、longFirst\longLast

除count外其他都需要指定name和fieldName两个参数,name表示最后输出的,也就是在表中体现的名称,而fieldName则代表源数据中的列名。

详细用法: metricsSpec-Aggregations官网详细解释

(21)

支持批量上传数据,路径指定到文件夹即可。

(22)当设置type为“granularity”时候,则需要根据时间戳使用路径格式将数据导入目录中。

Segment会给予时间戳进行分区,并根据其他类型进一步分区,druid支持hashed(基于每行所有维度的哈希值)和dimension(基于单个维度的范围)来进行分区。为了让druid在重查询负载下运行良好,对于段文件大小的推荐在300Mb到700mb之间,可以使用partitionsSpec来调整大小。

(21)hashed分区

hashed分区首先会选择多个Segment,然后根据每行数据所有列的哈希值对这些Segment进行分区,Segment的数量是输入数据集的基数以及目标分区大小自动确定的。

(22)Only-dimension单维度分区

选择作为分区指标的维度列,然后将该维度分隔成连续的不同的分区,每个分区都会包含该维度值在该范围内的所有行。默认情况下使用的维度都是自动指定的。

type:要分区的类型,dimension

targetPartitionSize(必须):包含在分区中的目标行数,应该在500M-1G

maxPartitionSize(可选):分区中包括的最大行数,默认为比targetPartitionSize大50%。

partitionDemension(可选),要分区的维度,为空时自动选择

assumeGrouped(可选):如果数据源已经按照时间和维度分组了,该选项将会提高加载数据的速度,但是如果没有那么会选择次优分区。

其中的indexjson便是需要配置的index文件

本地导入csv格式数据的 task文件示例

看不明白的稍微加工一下: 使用json在线解析层次更加清晰

导入hdfs中的csv格式文件

官网传送门:

使用hadoop进行批量离线导入-index文件的编写规范

如果送你是传入sql后用的exec执行的话,把 THEN '是' ELSE '否' END 改成 THEN ''是'' ELSE ''否'' END) , 试试, 如果单独执行没问题,程序执行却有问题,那么有且只有这个地方有问题了!!

druid做数据源, 怎么监控session啊

配置如下:

<init-param>

<param-name>principalSessionName</param-name>

<param-value>xxxxxxxxx</param-value>

</init-param>

点session监控, 里面都是空的;

上面xxxxxxxxx部分, 应该写什么啊,

druid api这么说:

我们不是搜索领域的专家,如果我们的描述不正确,请发邮件或者通过其他方式告知。

es 是一个基于apache lucene 的搜索引擎。它提供了针对scheme-free 文档的全文搜索,提供看了对原始事件数据的访问。eses逐渐的增加了更多对于Fenix和聚合的支持。一些社区的成员指出:

es相比druid,在数据的获取和聚合方面需要的资源更多。

另外 es 在数据获取阶段不支持数据的汇总和汇聚,汇总和汇聚压缩数据。这就导致了es 需要更大的存储。

druid 致力于OLAP 工作流。druid 在低成本的基础上为了高性能(快速的聚合和数据获取)做了优化,而且支持更多的分析 *** 作。对于结构化的事件数据,druid 也有一些基础的搜索的支持,但是不支持全文的搜索。druid 也不支持完全的非结构化的数据。查询的维度必须在drudi的schema中进行定义,比如 汇总和roll-up 的实现。

以上就是关于druid上传数据index文件配置全部的内容,包括:druid上传数据index文件配置、druid如何能打印执行的sql是在哪个数据源上、用druid做数据源,怎么监控session等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9730544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存