Datentypen (Java-Integrationsstufe in DataStage)

IBM® DataStage® unterstützt eine Gruppe von Datentypen, die sich von Java™ -Datentypen unterscheiden.

In einem Ausgabelink, bei dem DataStage -Spalten aus den von der Stage 'Java Integration' erzeugten Java-Datentypen festgelegt werden, konvertiert die Stage 'Java Integration' die Java-Datentypen in IBM DataStage -Datentypen. Umgekehrt werden in einem Eingabelink, bei dem JavaBeans -Eigenschaften oder -Spalten aus den DataStage -Spalten festgelegt werden, die IBM DataStage -Datentypen in Java-Datentypen konvertiert.

Datentypkonvertierungen von DataStage-Datentypen in Java-Datentypen

In einer Eingabeverknüpfung, in der Java-Typen aus DataStage gesetzt werden, die von der Java-Integrationsstufe konsumiert werden, konvertiert die Java-Integrationsstufe IBM DataStage in Java-Datentypen.

Die folgende Tabelle zeigt die Zuordnungsregeln zwischen IBM DataStage und Java-Datentypen.

Tabelle 1. IBM DataStage und ihre entsprechenden Java-Datentypen
IBM DataStage Java-Datentypen
BigInt java.math.BigInteger
Binär byte[]
Bit int/java.lang.Integer oder boolean/java.lang.Boolean
Hinweis: boolean/java.lang.Boolean gilt nur für Java Beans oder UDFs
Char java.lang.String
Datum java.sql.Date
Dezimal java.math.BigDecimal
Double double/java.lang.Double
Float float/java.lang.Float
Integer long/java.lang.Long
LongNVarChar java.lang.String
LongVarBinary byte[]
LongVarChar java.lang.String
NChar java.lang.String
Numerisch java.math.BigDecimal
NVarChar java.lang.String
Real java.lang.Float
SmallInt java.lang.Integer
Zeit java.sql.Time
Timestamp java.sql.Timestamp
TinyInt java.lang.Short
VarBinary byte[]
VarChar java.lang.String

Datentypkonvertierungen von Java-Datentypen in DataStage-Datentypen

In einer Ausgabeverknüpfung, in der DataStage aus den von der Java Integration Stage erzeugten Java-Typen gesetzt werden, konvertiert die Java Integration Stage Java-Datentypen in IBM DataStage.

Ebenso werden nach dem Import von Metadaten über die Java-Integrationsstufe die Java-Datentypen in IBM DataStage konvertiert. Die folgende Tabelle zeigt die Zuordnungsregeln zwischen Java-Datentypen und IBM DataStage.

Tabelle 2. Java-Datentypen und ihre entsprechenden IBM DataStage
Java-Datentyp IBM DataStage
boolean/java.lang.Boolean
Hinweis: gilt nur für JavaBeans oder UDF-Fälle
Bit
short/java.lang.Short TinyInt
int/java.lang.Integer SmallInt oder Bit
long/java.lang.Long Integer
java.math.BigInteger BigInt
float/java.lang.Float Reelle Zahl oder Gleitkommazahl
double/java.lang.Double Double
byte[] Binär oder VarBinary oder LongVarBinary
java.lang.String Char oder VarChar oder LongVarChar oder NChar oder NVarChar oder LongNVarChar
java.sql.Date Datum
java.sql.Time Zeit
java.sql.Timestamp TimeStamp
java.math.BigDecimal Dezimal oder numerisch

Zeit mit Mikrosekundenauflösung

Der Zeitdatentyp von DataStage Parallel Engine kann eine Auflösung im Mikrosekundenbereich haben, aber der ' java.sql.Time hat nur eine Auflösung im Millisekundenbereich. Das Ergebnis ist, dass die letzten drei Ziffern von Mikrosekunden abgeschnitten werden. Das Abschneiden erfolgt auch, wenn Spalten von einem Eingabelink zu einem Ausgabelink weitergegeben werden. Um das Abschneiden zu vermeiden, bietet die Java Integration Stage API eine Klasse " com.ibm.is.cc.javastage.api.TimeMicroseconds, die den Zeitwert in der Spezifikation Mikrosekunden beibehält.

Die Klasse " com.ibm.is.cc.javastage.api.TimeMicroseconds erbt die Klasse java.sql.Time und verfügt über eine Mikrosekundenauflösung sowie über Stunde, Minute und Sekunde. Die Mikrosekunden werden nicht abgeschnitten, wenn Spalten von einem Eingabelink zu einem Ausgabelink weitergegeben werden. Wenn Sie die Daten mit Mikrosekundenauflösung in den Ausgabelink schreiben möchten, verwenden Sie diese Klasse.

Weitere Informationen über die Klasse " TimeMicroseconds finden Sie in der Javadoc-Information für die Java Integration stage API.