
(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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)