Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Forever310
druid
提交
803e8ff6
D
druid
项目概览
Forever310
/
druid
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
druid
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
803e8ff6
编写于
5月 14, 2013
作者:
F
fjy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add configurable spatial dimensions to hadoop indexer
上级
5af188f1
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
69 addition
and
12 deletion
+69
-12
index-common/src/main/java/com/metamx/druid/indexer/data/CSVDataSpec.java
.../main/java/com/metamx/druid/indexer/data/CSVDataSpec.java
+15
-1
index-common/src/main/java/com/metamx/druid/indexer/data/DataSpec.java
...src/main/java/com/metamx/druid/indexer/data/DataSpec.java
+3
-0
index-common/src/main/java/com/metamx/druid/indexer/data/DelimitedDataSpec.java
...java/com/metamx/druid/indexer/data/DelimitedDataSpec.java
+15
-1
index-common/src/main/java/com/metamx/druid/indexer/data/JSONDataSpec.java
...main/java/com/metamx/druid/indexer/data/JSONDataSpec.java
+15
-1
index-common/src/main/java/com/metamx/druid/indexer/data/ToLowercaseDataSpec.java
...va/com/metamx/druid/indexer/data/ToLowercaseDataSpec.java
+7
-0
indexer/src/main/java/com/metamx/druid/indexer/IndexGeneratorJob.java
...main/java/com/metamx/druid/indexer/IndexGeneratorJob.java
+11
-6
merger/src/test/java/com/metamx/druid/merger/common/task/TaskSerdeTest.java
...va/com/metamx/druid/merger/common/task/TaskSerdeTest.java
+1
-1
pom.xml
pom.xml
+1
-1
server/src/test/java/com/metamx/druid/index/v1/TestIndex.java
...er/src/test/java/com/metamx/druid/index/v1/TestIndex.java
+1
-1
未找到文件。
index-common/src/main/java/com/metamx/druid/indexer/data/CSVDataSpec.java
浏览文件 @
803e8ff6
...
...
@@ -22,8 +22,10 @@ package com.metamx.druid.indexer.data;
import
com.fasterxml.jackson.annotation.JsonCreator
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.google.common.base.Preconditions
;
import
com.google.common.collect.Lists
;
import
com.metamx.common.parsers.CSVParser
;
import
com.metamx.common.parsers.Parser
;
import
com.metamx.druid.index.v1.SpatialDimensionSchema
;
import
java.util.List
;
...
...
@@ -33,11 +35,13 @@ public class CSVDataSpec implements DataSpec
{
private
final
List
<
String
>
columns
;
private
final
List
<
String
>
dimensions
;
private
final
List
<
SpatialDimensionSchema
>
spatialDimensions
;
@JsonCreator
public
CSVDataSpec
(
@JsonProperty
(
"columns"
)
List
<
String
>
columns
,
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
,
@JsonProperty
(
"spatialDimensions"
)
List
<
SpatialDimensionSchema
>
spatialDimensions
)
{
Preconditions
.
checkNotNull
(
columns
,
"columns"
);
...
...
@@ -47,6 +51,9 @@ public class CSVDataSpec implements DataSpec
this
.
columns
=
columns
;
this
.
dimensions
=
dimensions
;
this
.
spatialDimensions
=
(
spatialDimensions
==
null
)
?
Lists
.<
SpatialDimensionSchema
>
newArrayList
()
:
spatialDimensions
;
}
@JsonProperty
(
"columns"
)
...
...
@@ -62,6 +69,13 @@ public class CSVDataSpec implements DataSpec
return
dimensions
;
}
@JsonProperty
(
"spatialDimensions"
)
@Override
public
List
<
SpatialDimensionSchema
>
getSpatialDimensions
()
{
return
spatialDimensions
;
}
@Override
public
void
verify
(
List
<
String
>
usedCols
)
{
...
...
index-common/src/main/java/com/metamx/druid/indexer/data/DataSpec.java
浏览文件 @
803e8ff6
...
...
@@ -22,6 +22,7 @@ package com.metamx.druid.indexer.data;
import
com.fasterxml.jackson.annotation.JsonSubTypes
;
import
com.fasterxml.jackson.annotation.JsonTypeInfo
;
import
com.metamx.common.parsers.Parser
;
import
com.metamx.druid.index.v1.SpatialDimensionSchema
;
import
java.util.List
;
...
...
@@ -41,5 +42,7 @@ public interface DataSpec
public
List
<
String
>
getDimensions
();
public
List
<
SpatialDimensionSchema
>
getSpatialDimensions
();
public
Parser
<
String
,
Object
>
getParser
();
}
index-common/src/main/java/com/metamx/druid/indexer/data/DelimitedDataSpec.java
浏览文件 @
803e8ff6
...
...
@@ -22,8 +22,10 @@ package com.metamx.druid.indexer.data;
import
com.fasterxml.jackson.annotation.JsonCreator
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.google.common.base.Preconditions
;
import
com.google.common.collect.Lists
;
import
com.metamx.common.parsers.DelimitedParser
;
import
com.metamx.common.parsers.Parser
;
import
com.metamx.druid.index.v1.SpatialDimensionSchema
;
import
java.util.List
;
...
...
@@ -34,12 +36,14 @@ public class DelimitedDataSpec implements DataSpec
private
final
String
delimiter
;
private
final
List
<
String
>
columns
;
private
final
List
<
String
>
dimensions
;
private
final
List
<
SpatialDimensionSchema
>
spatialDimensions
;
@JsonCreator
public
DelimitedDataSpec
(
@JsonProperty
(
"delimiter"
)
String
delimiter
,
@JsonProperty
(
"columns"
)
List
<
String
>
columns
,
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
,
@JsonProperty
(
"spatialDimensions"
)
List
<
SpatialDimensionSchema
>
spatialDimensions
)
{
Preconditions
.
checkNotNull
(
columns
);
...
...
@@ -50,6 +54,9 @@ public class DelimitedDataSpec implements DataSpec
this
.
delimiter
=
(
delimiter
==
null
)
?
DelimitedParser
.
DEFAULT_DELIMITER
:
delimiter
;
this
.
columns
=
columns
;
this
.
dimensions
=
dimensions
;
this
.
spatialDimensions
=
(
spatialDimensions
==
null
)
?
Lists
.<
SpatialDimensionSchema
>
newArrayList
()
:
spatialDimensions
;
}
@JsonProperty
(
"delimiter"
)
...
...
@@ -71,6 +78,13 @@ public class DelimitedDataSpec implements DataSpec
return
dimensions
;
}
@JsonProperty
(
"spatialDimensions"
)
@Override
public
List
<
SpatialDimensionSchema
>
getSpatialDimensions
()
{
return
spatialDimensions
;
}
@Override
public
void
verify
(
List
<
String
>
usedCols
)
{
...
...
index-common/src/main/java/com/metamx/druid/indexer/data/JSONDataSpec.java
浏览文件 @
803e8ff6
...
...
@@ -20,8 +20,10 @@
package
com.metamx.druid.indexer.data
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.google.common.collect.Lists
;
import
com.metamx.common.parsers.JSONParser
;
import
com.metamx.common.parsers.Parser
;
import
com.metamx.druid.index.v1.SpatialDimensionSchema
;
import
java.util.List
;
...
...
@@ -30,12 +32,17 @@ import java.util.List;
public
class
JSONDataSpec
implements
DataSpec
{
private
final
List
<
String
>
dimensions
;
private
final
List
<
SpatialDimensionSchema
>
spatialDimensions
;
public
JSONDataSpec
(
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
@JsonProperty
(
"dimensions"
)
List
<
String
>
dimensions
,
@JsonProperty
(
"spatialDimensions"
)
List
<
SpatialDimensionSchema
>
spatialDimensions
)
{
this
.
dimensions
=
dimensions
;
this
.
spatialDimensions
=
(
spatialDimensions
==
null
)
?
Lists
.<
SpatialDimensionSchema
>
newArrayList
()
:
spatialDimensions
;
}
@JsonProperty
(
"dimensions"
)
...
...
@@ -45,6 +52,13 @@ public class JSONDataSpec implements DataSpec
return
dimensions
;
}
@JsonProperty
(
"spatialDimensions"
)
@Override
public
List
<
SpatialDimensionSchema
>
getSpatialDimensions
()
{
return
spatialDimensions
;
}
@Override
public
void
verify
(
List
<
String
>
usedCols
)
{
...
...
index-common/src/main/java/com/metamx/druid/indexer/data/ToLowercaseDataSpec.java
浏览文件 @
803e8ff6
...
...
@@ -22,6 +22,7 @@ package com.metamx.druid.indexer.data;
import
com.fasterxml.jackson.annotation.JsonValue
;
import
com.metamx.common.parsers.Parser
;
import
com.metamx.common.parsers.ToLowerCaseParser
;
import
com.metamx.druid.index.v1.SpatialDimensionSchema
;
import
java.util.List
;
...
...
@@ -56,6 +57,12 @@ public class ToLowercaseDataSpec implements DataSpec
return
delegate
.
getDimensions
();
}
@Override
public
List
<
SpatialDimensionSchema
>
getSpatialDimensions
()
{
return
delegate
.
getSpatialDimensions
();
}
@Override
public
Parser
<
String
,
Object
>
getParser
()
{
...
...
indexer/src/main/java/com/metamx/druid/indexer/IndexGeneratorJob.java
浏览文件 @
803e8ff6
...
...
@@ -35,6 +35,7 @@ import com.metamx.druid.aggregation.AggregatorFactory;
import
com.metamx.druid.client.DataSegment
;
import
com.metamx.druid.index.QueryableIndex
;
import
com.metamx.druid.index.v1.IncrementalIndex
;
import
com.metamx.druid.index.v1.IncrementalIndexSchema
;
import
com.metamx.druid.index.v1.IndexIO
;
import
com.metamx.druid.index.v1.IndexMerger
;
import
com.metamx.druid.indexer.data.StringInputRowParser
;
...
...
@@ -152,7 +153,8 @@ public class IndexGeneratorJob implements Jobby
}
}
public
static
List
<
DataSegment
>
getPublishedSegments
(
HadoopDruidIndexerConfig
config
)
{
public
static
List
<
DataSegment
>
getPublishedSegments
(
HadoopDruidIndexerConfig
config
)
{
final
Configuration
conf
=
new
Configuration
();
final
ObjectMapper
jsonMapper
=
HadoopDruidIndexerConfig
.
jsonMapper
;
...
...
@@ -182,7 +184,7 @@ public class IndexGeneratorJob implements Jobby
List
<
DataSegment
>
publishedSegments
=
publishedSegmentsBuilder
.
build
();
return
publishedSegments
;
}
}
public
static
class
IndexGeneratorMapper
extends
HadoopDruidIndexerMapper
<
BytesWritable
,
Text
>
...
...
@@ -197,7 +199,7 @@ public class IndexGeneratorJob implements Jobby
// Group by bucket, sort by timestamp
final
Optional
<
Bucket
>
bucket
=
getConfig
().
getBucket
(
inputRow
);
if
(!
bucket
.
isPresent
())
{
if
(!
bucket
.
isPresent
())
{
throw
new
ISE
(
"WTF?! No bucket found for row: %s"
,
inputRow
);
}
...
...
@@ -590,9 +592,12 @@ public class IndexGeneratorJob implements Jobby
private
IncrementalIndex
makeIncrementalIndex
(
Bucket
theBucket
,
AggregatorFactory
[]
aggs
)
{
return
new
IncrementalIndex
(
theBucket
.
time
.
getMillis
(),
config
.
getRollupSpec
().
getRollupGranularity
(),
aggs
new
IncrementalIndexSchema
.
Builder
()
.
withMinTimestamp
(
theBucket
.
time
.
getMillis
())
.
withSpatialDimensions
(
config
.
getDataSpec
().
getSpatialDimensions
())
.
withQueryGranularity
(
config
.
getRollupSpec
().
getRollupGranularity
())
.
withMetrics
(
aggs
)
.
build
()
);
}
...
...
merger/src/test/java/com/metamx/druid/merger/common/task/TaskSerdeTest.java
浏览文件 @
803e8ff6
...
...
@@ -317,7 +317,7 @@ public class TaskSerdeTest
"foo"
,
"timestamp"
,
"auto"
,
new
JSONDataSpec
(
ImmutableList
.
of
(
"foo"
)),
new
JSONDataSpec
(
ImmutableList
.
of
(
"foo"
)
,
null
),
null
,
new
UniformGranularitySpec
(
Granularity
.
DAY
,
ImmutableList
.
of
(
new
Interval
(
"2010-01-01/P1D"
))),
new
StaticPathSpec
(
"bar"
),
...
...
pom.xml
浏览文件 @
803e8ff6
...
...
@@ -75,7 +75,7 @@
<dependency>
<groupId>
com.metamx
</groupId>
<artifactId>
bytebuffer-collections
</artifactId>
<version>
0.0.1
-SNAPSHOT
</version>
<version>
0.0.1
</version>
</dependency>
<dependency>
<groupId>
com.metamx
</groupId>
...
...
server/src/test/java/com/metamx/druid/index/v1/TestIndex.java
浏览文件 @
803e8ff6
...
...
@@ -162,7 +162,7 @@ public class TestIndex
{
StringInputRowParser
parser
=
new
StringInputRowParser
(
new
TimestampSpec
(
"ts"
,
"iso"
),
new
DelimitedDataSpec
(
"\t"
,
Arrays
.
asList
(
COLUMNS
),
Arrays
.
asList
(
DIMENSIONS
)),
new
DelimitedDataSpec
(
"\t"
,
Arrays
.
asList
(
COLUMNS
),
Arrays
.
asList
(
DIMENSIONS
)
,
null
),
Arrays
.<
String
>
asList
()
);
boolean
runOnce
=
false
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录