Set Oozie coordinator start date to beginning of current quater - oozie

I want to run an oozie job for daterange as quater to date. How do I set it up to get the start-instance to have beginning of quarter date

It seems the easiest way would be to start at the beginning of a quarter and set the frequency to every three months:
<coordinator-app name="coord"
frequency="${coord:months(3)}"
start="2015-01-01T00:00Z"
end= "2115-01-01T00:00Z"
timezone="UTC"
xmlns="uri:oozie:coordinator:0.1">

Related

robotoframework selenium calculate yesterday date in python script

I have
${date}= Get Current Date result_format=%Y-%m-%d
but I need yesterday date... how can I calculate -1day? I try format %d-1 but not work
The DateTime library has an Add Time To Date keyword which should do what you need:
${CurrentDate}= Get Current Date result_format=%Y-%m-%d
${newdatetime} = Add Time To Date ${CurrentDate} -1 days

meaning and output of date command in Unix

I am facing difficulty in understanding the below date command and its output in Unix if pass the value of 'end' as 130?
Thanks in advance.
date --date='{{ end }} day' +%s
The date will give the current date time.
With --date='{{ end }} day' you are adding end number of days to current date time.
The +%s outputs the overall Unix timestamp after adding end number of days.
Refer here for more options.
You specify intended date format with --date option:
Which accepts rich set of format options : Please go through this
If you put 130 as value of end unix variable then you will get Date and time after 130 days followed by seconds as well because +%s prints seconds.

Hive Date Time Week

I want to extract date of each week's Monday for each week in hive. I can do that with Presto by using date_trunc function however in hive I don't have a direct function which can extract Monday Date.
My Presto code is similar to this,
select
a.abc_id
,cast(date_trunc('week', from_unixtime(p.xyz_date)) as timestamp) as xyz_week
from PQR
The output is for each id I will get Week but in the form of date format which is nothing but the date of every Monday of past weeks (user can specify how many week's he wants to assess).
I searched all the date functions of hive but is there a function which can replace date_trunc?
what you need is the date function : next_day(string start_date, string day_of_week)
For example: next_day('2018-02-22', 'Mon') = '2018-02-26''
My hive version is 1.4.

TeradataSQL: Time to String, Add to Date and Compare to Another Time and Data

I'm trying to figure out the cleanest way to do a comparison in Teradata SQL Assistant. I have the scheduled start date (TimeStamp), the Schedule start time (varchar), actual start and end times (TimeStamp). I need to consolidate the scheduled start date and time and be able to compare it to the actual start and end date and time without modifying the original data (because it's not mine). I realize that the Scheduled Start Time [SST] is in a 24 hour time format with a AM/PM suffix, but like I said before, I can't change that.
I tried to do select cast(substr(scheduled_start_date,1,5) as TIMESTAMP(0)) from DB.TBL but am getting the "Invalid timestamp" error. There is example table data below.
Sch Start Date Sch Start Time Actual Start Actual End
09/11/2017 00:00:00 11:30 AM 09/11/2017 11:34:16 09/11/2017 11:58:00
05/26/2017 00:00:00 15:30 PM 05/26/2017 15:40:00 05/26/2017 15:55:15
11/06/2017 00:00:00 19:30 PM 11/06/2017 21:25:00 11/06/2017 21:45:00
Thanks!
You need to cast the schedule start time as an Interval, then you can easily add it to the start date:
scheduled_start_date
+ Cast(Substr(scheduled_start_time, 1,5) AS INTERVAL HOUR TO MINUTE)
A start date which is a timestamp seems to indicate this was ported from Oracle/SQL Server?
And a 24 hour time format with a AM/PM suffix is also quite strange.
A couple things to try:
Convert the separate Scheduled Date and Scheduled Time fields into strings, concatenate them, and feed that into a TIMESTAMP CAST. Something like:
SELECT
CAST(CAST(Scheduled_Date AS DATE) AS VARCHAR(25)) AS Date_String,
CAST(CAST(Scheduled_Time AS TIME FORMAT 'HH:MM BB') AS VARCHAR(25)) AS Time_String,
CAST(TRIM(Date_String) || ' ' || TRIM(Time_String) AS TIMESTAMP(0)) AS MyTimestamp
Cast the Scheduled Time field as a TIME data type. Cast the Scheduled Date field as a DATE data type. Then somehow combine the two into a TIMESTAMP field -- either with a CAST or some kind of timestamp constructor function (not sure if this is possible)
Option 1 should work for sure as long as you properly format the strings. Try to avoid using SUBSTRING and instead use FORMAT to cast as DATE/TIME fields. Not sure about Option 2. Take a look at these link for how to format DATE/TIME fields using the FORMAT clause:
https://www.info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/SQL_Reference%2FB035-1143-160K%2Fmuq1472241377538.html%23wwID0EPHKR
https://www.info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/SQL_Reference/B035-1143-160K/cmy1472241389785.html
Sorry, I don't have access to a TD system to test it out. Let me know if you have any luck.

How to get the exact week number if the week is starting with specified weekday on moment js?

Example:
Week day is starting from
moment().weekYear(yearValue).week(weekNumber).startOf('week').weekday(2)
which is Tuesday.
First week on 2017 the days are,
[3-Jan-2017, 4-Jan-2017, 5-Jan-2017, 6-Jan-2017, 7-Jan-2017, 8-Jan-2017, 9-Jan-2017]
How to get the exact week number for 1-Jan-2017?
Week numbers can be retrieved by:
var weeknumber = moment("1-Jan-2017", "d-MMM-YYYY", "en").week();
And be careful, passing the locale might change the week number because of starting on Monday or Dunday.
var weeknumber = moment("1-Jan-2017").week();
In my application I've served the locale globally depending on what language the user has logged in with, so I wouldn't worry about that.

Resources