public boolean isStorageTableCandidateForRange(String storageTableName, String fromDate, String toDate) throws HiveException, LensException { Date now = new Date(); return isStorageTableCandidateForRange(storageTableName, resolveDate(fromDate, now), resolveDate(toDate, now)); }
public boolean isStorageTableCandidateForRange(String storageTableName, String fromDate, String toDate) throws HiveException, LensException { Date now = new Date(); return isStorageTableCandidateForRange(storageTableName, resolveDate(fromDate, now), resolveDate(toDate, now)); }
private List<Date> getStorageTimes(String storageTableName, String timeKey) throws LensException { Date now = new Date(); List<Date> storageTimes = new ArrayList<>(); String property; property = getTable(storageTableName).getProperty(timeKey); if (StringUtils.isNotBlank(property)) { for (String timeStr : property.split("\\s*,\\s*")) { storageTimes.add(resolveDate(timeStr, now)); } } return storageTimes; }
private List<Date> getStorageTimes(String storageTableName, String timeKey) throws LensException { Date now = new Date(); List<Date> storageTimes = new ArrayList<>(); String property; property = getTable(storageTableName).getProperty(timeKey); if (StringUtils.isNotBlank(property)) { for (String timeStr : property.split("\\s*,\\s*")) { storageTimes.add(resolveDate(timeStr, now)); } } return storageTimes; }
@Test public void testTimestamp() throws LensException { Date now = new Date(); assertEquals(DateUtil.resolveDate(String.valueOf(now.getTime()+1), now), new Date(now.getTime()+1)); } }
Date now = new Date(); if (fromDate != null) { fromTime = DateUtil.resolveDate(fromDate, now).getTime(); toTime = DateUtil.resolveDate(toDate, now).getTime();
@Test public void testNowWithGranularity() throws Exception { String dateFmt = "yyyy/MM/dd-HH.mm.ss.SSS"; // Tuesday Sept 23, 2014, 12.02.05.500 pm String testDateStr = "2014/09/23-12.02.05.500"; final SimpleDateFormat sdf = new SimpleDateFormat(dateFmt); final Date testDate = sdf.parse(testDateStr); System.out.print("@@ testDateStr=" + testDateStr + " parsed date=" + testDate); // Tests without a diff, just resolve now with different granularity assertEquals(testDateStr, sdf.format(resolveDate("now", testDate))); assertEquals("2014/01/01-00.00.00.000", sdf.format(resolveDate("now.year", testDate))); assertEquals("2014/09/01-00.00.00.000", sdf.format(resolveDate("now.month", testDate))); // Start of week resolves to Sunday assertEquals("2014/09/21-00.00.00.000", sdf.format(resolveDate("now.week", testDate))); assertEquals("2014/09/23-00.00.00.000", sdf.format(resolveDate("now.day", testDate))); assertEquals("2014/09/23-12.00.00.000", sdf.format(resolveDate("now.hour", testDate))); assertEquals("2014/09/23-12.02.00.000", sdf.format(resolveDate("now.minute", testDate))); assertEquals("2014/09/23-12.02.05.000", sdf.format(resolveDate("now.second", testDate))); // Tests with a diff assertEquals("2014/09/22-00.00.00.000", sdf.format(resolveDate("now.day -1day", testDate))); assertEquals("2014/09/23-10.00.00.000", sdf.format(resolveDate("now.hour -2hour", testDate))); assertEquals("2014/09/24-12.00.00.000", sdf.format(resolveDate("now.hour +24hour", testDate))); assertEquals("2015/01/01-00.00.00.000", sdf.format(resolveDate("now.year +1year", testDate))); assertEquals("2014/02/01-00.00.00.000", sdf.format(resolveDate("now.year +1month", testDate))); }
@Override public List<QueryHandle> getAllQueries(LensSessionHandle sessionHandle, String states, String userName, String driver, String queryName, String fromDate, String toDate) throws LensException { long fromTime = -1; long toTime = Long.MAX_VALUE; Date now = new Date(); if (fromDate != null) { fromTime = DateUtil.resolveDate(fromDate, now).getTime(); } if (toDate != null) { toTime = DateUtil.resolveDate(toDate, now).getTime(); } validateTimeRange(fromTime, toTime); try { acquire(sessionHandle); if (StringUtils.isBlank(userName)) { userName = getSession(sessionHandle).getLoggedInUser(); } Set<Status> statuses = getStatuses(states); List<QueryHandle> result = getQueriesInMemory(statuses, userName, driver, queryName, fromTime, toTime); List<QueryHandle> persistedQueries = getPersistedQueryHandles(userName, driver, queryName, fromTime, toTime, statuses); HashSet<QueryHandle> deduplicatedResults = new HashSet<>(result); deduplicatedResults.addAll(persistedQueries); return new ArrayList<>(deduplicatedResults); } finally { release(sessionHandle); } }
Date now = new Date(); if (fromDate != null) { fromTime = DateUtil.resolveDate(fromDate, now).getTime(); toTime = DateUtil.resolveDate(toDate, now).getTime();
@Override public String lookup(String s) { try { return JAXBUtils.getXMLGregorianCalendar(DateUtil.resolveDate(s, NOW)).toString(); } catch (LensException e) { throw new RuntimeException(e); } } }, "$gregorian{", "}", '$');
private void assertRangeValidityForStorageTable(String storageTable) throws HiveException, LensException { Object[][] testCases = new Object[][]{ {"now - 15 days", "now - 11 days", false}, {"now - 15 days", "now.day - 10 days", false}, {"now - 15 days", "now - 1 hour", true}, {"now - 9 days", "now - 1 hour", true}, {"now - 3 hour", "now - 1 hour", false}, {"now - 10 days", "now - 1 hour", true}, {"now - 9 days", "now - 2 days", true}, {"now - 9 days", "now.day - 1 days", true}, {"now.day - 1 days", "now - 1 hour", false}, }; for(Object[] testCase: testCases) { assertEquals(client.isStorageTableCandidateForRange(storageTable, testCase[0].toString(), testCase[1].toString()), testCase[2], "Failed for " + Arrays.asList(testCase).toString()); } Object[][] partTimes = new Object[][] { {"now - 15 days", false}, {"now - 10 days", true}, {"now - 1 hour", false}, {"now.day - 1 day", false}, {"now.day - 10 days", true}, {"now - 9 days", true}, {"now - 2 days", true}, }; for(Object[] partTime : partTimes) { assertEquals(client.isStorageTablePartitionACandidate(storageTable, resolveDate(partTime[0].toString(), new Date())), partTime[1], "Failed for " + Arrays.asList(partTime).toString()); } }
now = new Date(); builder.fromDate(DateUtil.resolveDate(fromDateRaw, now)); if (StringUtils.isNotBlank(toDateRaw)) { builder.toDate(DateUtil.resolveDate(toDateRaw, now)); } else { builder.toDate(now);
now = new Date(); builder.fromDate(DateUtil.resolveDate(fromDateRaw, now)); if (StringUtils.isNotBlank(toDateRaw)) { builder.toDate(DateUtil.resolveDate(toDateRaw, now)); } else { builder.toDate(now);