You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/10/28 11:03:43 UTC
incubator-kylin git commit: KYLIN-1101 Allow "YYYYMMDD" as a date
partition column
Repository: incubator-kylin
Updated Branches:
refs/heads/2.x-staging 48eadcf0f -> ffb38232d
KYLIN-1101 Allow "YYYYMMDD" as a date partition column
Signed-off-by: Li, Yang <ya...@ebay.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/ffb38232
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/ffb38232
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/ffb38232
Branch: refs/heads/2.x-staging
Commit: ffb38232d6bc6c8c74549862b96f598e909aaf60
Parents: 48eadcf
Author: lidongsjtu <do...@ebay.com>
Authored: Wed Oct 28 14:18:15 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Wed Oct 28 18:03:23 2015 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/common/util/DateFormat.java | 6 +++++-
.../apache/kylin/metadata/model/PartitionDesc.java | 14 ++++++++++++--
2 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ffb38232/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java b/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
index f46edae..43ff00e 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java
@@ -47,7 +47,11 @@ public class DateFormat {
}
public static String formatToDateStr(long millis) {
- return formatToTimeStr(millis, DEFAULT_DATE_PATTERN);
+ return formatToDateStr(millis, DEFAULT_DATE_PATTERN);
+ }
+
+ public static String formatToDateStr(long millis, String pattern) {
+ return getDateFormat(pattern).format(new Date(millis));
}
public static String formatToTimeStr(long millis) {
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ffb38232/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
index 2f1e3dd..0de905c 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
@@ -45,6 +45,8 @@ public class PartitionDesc {
private String partitionDateColumn;
@JsonProperty("partition_date_start")
private long partitionDateStart = 0L;
+ @JsonProperty("partition_date_format")
+ private String partitionDateFormat = DateFormat.DEFAULT_DATE_PATTERN;
@JsonProperty("partition_type")
private PartitionType partitionType = PartitionType.APPEND;
@JsonProperty("partition_condition_builder")
@@ -98,6 +100,14 @@ public class PartitionDesc {
this.partitionDateStart = partitionDateStart;
}
+ public String getPartitionDateFormat() {
+ return partitionDateFormat;
+ }
+
+ public void setPartitionDateFormat(String partitionDateFormat) {
+ this.partitionDateFormat = partitionDateFormat;
+ }
+
public PartitionType getCubePartitionType() {
return partitionType;
}
@@ -137,10 +147,10 @@ public class PartitionDesc {
StringBuilder builder = new StringBuilder();
if (startInclusive > 0) {
- builder.append(partitionColumnName + " >= '" + DateFormat.formatToDateStr(startInclusive) + "' ");
+ builder.append(partitionColumnName + " >= '" + DateFormat.formatToDateStr(startInclusive, partDesc.getPartitionDateFormat()) + "' ");
builder.append("AND ");
}
- builder.append(partitionColumnName + " < '" + DateFormat.formatToDateStr(endExclusive) + "'");
+ builder.append(partitionColumnName + " < '" + DateFormat.formatToDateStr(endExclusive, partDesc.getPartitionDateFormat()) + "'");
return builder.toString();
}