File name with a timestamp

One Star

File name with a timestamp

Hi,
I have one question.
I want to give my file's name with a time stamp
It will be like "filename_yyyyMMdd_HHmm.dat"
But I have to find this file again in the job so, I want to store the "yyyyMMdd_HHmm" value in a context or variable.
and assign that context or variable to the file name.
Can you direct me how it can be done???
I've tried making a context of type string whose value is TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate())
But when i run it i got a file not found exception (I'm to create a file not find for the first time).
and I think the context returns as a string of "TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate())" not the actural date time value.
Thank You.
One Star

Re: File name with a timestamp

Hi Kyaw,
you have to set the content of the context variable in the running job by using the "Context Load" component.
At the start of the job insert a tFixedFlowInput Component and a "Context Load" Component.
Establish a "main" link from fixedFlowInput to the ContextLoad and set the schema of the fixedFlowInput equal to the ContextLoad.
In the fixedflowInput enter one row. In the "key" Field enter a String with the name of your context variable. In the value field enter the Expression TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate()).
When you run the job, the context will be set dynamically with the actual time in the given format.

Re: File name with a timestamp

Hi
Or you could make a context variable - I called it filename (String).
and before you save the file add a tjava component. In this component paste the following Code
context.filename = "filename_"+TalendDate.getDate("yyyyMMdd_HHmm")+".dat";

and whenever you need to use the name simply just use it as you would a normal context by typing context.filename
Six Stars

Re: File name with a timestamp

Hi Kyaw Lwin Phyo,
so first of all I created tLoop, context variable named timeStamp, then somewhere in process I asigned it the value of current time using tJava component and connected it to the first iteration
context.timeStamp = TalendDate.formatDate("yyyyMMdd_HHmmssSSS",TalendDate.getCurrentDate());

then I just used tRowGenerator to generate random ascii values for the tFileOutputDelimited and that's it.
Ladislav
One Star

Re: File name with a timestamp

Instead, No need of Context Variable or Context load component. 
Directly provide the expression in the filename property - it works
"D:/filedirectory/fileout_"+TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate())+".csv"
One Star

Re: File name with a timestamp

Instead, No need of Context Variable or Context load component. 
Directly provide the expression in the filename property - it works
"D:/filedirectory/fileout_"+TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate())+".csv"

A W E S O M E ! Smiley Happy

Re: File name with a timestamp

if u want ur output file with time stamp try this one:


One Star

Re: File name with a timestamp

Instead, No need of Context Variable or Context load component. 
Directly provide the expression in the filename property - it works
"D:/filedirectory/fileout_"+TalendDate.formatDate("yyyyMMdd_HHmm",TalendDate.getCurrentDate())+".csv"

It worked perfectly. Thank You Smiley Happy

Re: File name with a timestamp

Do we have any option for giving regular expression in file path
Four Stars

Re: File name with a timestamp

Hi,

 

Could you please let me know how can we append the date to the file name in cst format?

 

 

 

Employee

Re: File name with a timestamp

@Puspanjali12 

 

   Could you please let us know the exact format you are looking?

 

   Then we can suggest the corresponding format to you.

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved :-)

 

Four Stars

Re: File name with a timestamp

@nikhilthampi 

 

I want to append the current date in a filename and the date should be in CST timezone.
for ex: data02212019051444

 

Regards,

Puspanjali

Employee

Re: File name with a timestamp

@Puspanjali12 

 

Please refer the below diagram.

image.png

 

 

I have used the java libraray joda-time and the screen shots for tlibraryload are as below.

image.png

 

image.png

 

 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 import org.joda.time.format.DateTimeFormatter;
 import org.joda.time.format.DateTimeFormat;

tMap screenshot is as below.

image.png

 

row1.input+DateTime.now(DateTimeZone.forID( "America/Chicago" ) ).toString(DateTimeFormat.forPattern("MMddyyyyHHmmss"))

And you got the answer :-)

 

Please spare a second to mark the topic as resolved. Kudos are also welcome :-)

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved :-)

 

 

Four Stars

Re: File name with a timestamp

@nikhilthampi 

 

Thanks. It's working!!

Five Stars

Re: File name with a timestamp

The best for me
Four Stars

Re: File name with a timestamp

excelent...!

 

 

 

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Migrate Data from one Database to another with one Job using the Dynamic Schema

Find out how to migrate from one database to another using the Dynamic schema

Blog

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog