Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All
When I look at the default data type in talend I do not see timestamp data type in talend. Is there any way to create "TIMESTAMP" data type in talend by default not using by TalendDate.ParseDate...
Thanks
Everything in Talend is based on Java. To store date and time data you would use the Date class. If you retrieve date data from your database (in any DB date/time format), Talend will normally automatically use the Date class for this. Is there a specific problem you are having?
Thanks rhall_2_0
No it is not. In my oracle db the date column store date time, I want to insert to date data to vertica db but in vertica db there are different type for date and date time (timestamp) so I have pull data from oracle in date and store in vertica timestamp.
Because of that reason I need to change type from date to timestamp in every schema in every job. If there is a way to create a new talend type TIMESTAMP, I pull data from oracle in TIMESTAMP format and store in TIMESTAMP format.
I may be misunderstanding here, but when data is loaded into Talend it gets converted into Java objects. Once your Oracle date is received, it becomes a Java Date. While it is being processed by the Java virtual machine it remains in Java objects. It is only when it is loaded out (to Vertica in your case) that it is converted to the target's specific types. If you go to Preferences --> Talend-->Specific Settings-->Metadata of Talend, you will see mapping xml files for the Talend to Source/Target type mappings. The one for Vertica looks like this....
<?xml version="1.0"?> <mapping> <dbms product="VERTICA" id="vertica_id" label="Mapping Vertica" default="true"> <dbTypes> <dbType type="BOOLEAN" ignoreLen="true" ignorePre="true"/> <dbType type="CHAR" defaultLength="200" ignorePre="true"/> <dbType type="CHARACTER" defaultLength="200" ignorePre="true"/> <dbType type="VARCHAR" defaultLength="300" ignorePre="true"/> <dbType type="CHARACTER VARYING" defaultLength="200" ignorePre="true"/> <dbType type="INTEGER" ignoreLen="true" ignorePre="true"/> <dbType type="BIGINT" ignoreLen="true" ignorePre="true"/> <dbType type="FLOAT" ignoreLen="true" ignorePre="true"/> <dbType type="DOUBLE PRECISION" ignoreLen="true" ignorePre="true"/> <dbType type="DATE" ignoreLen="true" ignorePre="true"/> <dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/> <dbType type="BINARY" ignorePre="true"/> <dbType type="VARBINARY" ignorePre="true" /> <dbType type="NUMERIC" defaultLength="10" defaultPrecision="5"/> <dbType type="INT8" ignoreLen="true" ignorePre="true"/> <dbType type="FLOAT8" ignoreLen="true" ignorePre="true"/> </dbTypes> <language name="java"> <talendToDbTypes><!-- Adviced mappings --> <talendType type="id_List"> </talendType> <talendType type="id_BigDecimal"> <dbType type="DOUBLE PRECISION" default="true"/> <dbType type="NUMERIC" /> </talendType> <talendType type="id_Boolean"> <dbType type="BOOLEAN" default="true"/> </talendType> <talendType type="id_Byte"> <dbType type="INTEGER" default="true" /> </talendType> <talendType type="id_byte[]"> <dbType type="BINARY" default="true"/> <dbType type="VARBINARY"/> </talendType> <talendType type="id_Character"> <dbType type="CHAR" default="true"/> <dbType type="CHARACTER"/> </talendType> <talendType type="id_Date"> <dbType type="DATE" default="true" /> <dbType type="TIMESTAMP"/> </talendType> <talendType type="id_Double"> <dbType type="DOUBLE PRECISION" default="true" /> <dbType type="NUMERIC" /> </talendType> <talendType type="id_Float"> <dbType type="FLOAT" default="true" /> <dbType type="FLOAT8"/> </talendType> <talendType type="id_Integer"> <dbType type="INTEGER" default="true" /> <dbType type="INT8" /> </talendType> <talendType type="id_Long"> <dbType type="BIGINT" default="true" /> </talendType> <talendType type="id_Object"> </talendType> <talendType type="id_Short"> <dbType type="INTEGER" default="true" /> </talendType> <talendType type="id_String"> <dbType type="VARCHAR" default="true" /> <dbType type="CHARACTER VARYING"/> </talendType> </talendToDbTypes> <dbToTalendTypes><!-- Adviced mappings --> <dbType type="BOOLEAN"> <talendType type="id_Boolean" default="true" /> </dbType> <dbType type="CHAR"> <talendType type="id_String" default="true" /> </dbType> <dbType type="CHARACTER"> <talendType type="id_String" default="true" /> </dbType> <dbType type="VARCHAR"> <talendType type="id_String" default="true" /> </dbType> <dbType type="CHARACTER VARYING"> <talendType type="id_String" default="true" /> </dbType> <dbType type="INTEGER"> <talendType type="id_Integer" default="true" /> <talendType type="id_Short" /> <talendType type="id_Byte" /> </dbType> <dbType type="INT8"> <talendType type="id_Integer" default="true" /> <talendType type="id_Short" /> <talendType type="id_Byte" /> </dbType> <dbType type="BIGINT"> <talendType type="id_Long" default="true" /> </dbType> <dbType type="FLOAT"> <talendType type="id_Float" default="true" /> </dbType> <dbType type="FLOAT8"> <talendType type="id_Float" default="true" /> </dbType> <dbType type="DOUBLE PRECISION"> <talendType type="id_Double" default="true" /> <talendType type="id_BigDecimal" /> </dbType> <dbType type="DATE"> <talendType type="id_Date" default="true" /> </dbType> <dbType type="TIMESTAMP"> <talendType type="id_Date" default="true" /> </dbType> <dbType type="BINARY"> <talendType type="id_byte[]" default="true" /> </dbType> <dbType type="VARBINARY"> <talendType type="id_byte[]" default="true" /> </dbType> <dbType type="NUMERIC"> <talendType type="id_Double" default="true" /> <talendType type="id_BigDecimal" /> </dbType> </dbToTalendTypes> </language> </dbms> </mapping>
If you look through this you will see that by default, the Java Date object is mapped to a Vertica Timestamp object.
As I said, I may be misunderstanding your issue. So could you clarify exactly what is going wrong when you simply hook up the columns and let it automatically load?