概要
統合型とは、Avro イベントまたは JSON イベントに表示されるデータ型です。これは、ソースの Oracle データベース、MySQL データベース、PostgreSQL データベース、BigQuery や Cloud Storage の宛先など、複数のデータソースと宛先にわたるデータ型の Datastream 固有の統合表現です。
統合型は、サポートされているすべてのソースタイプのすべての型表現のスーパーセットであり、元のソースタイプを汎用的、可逆的に表します。
次の表に以下の内容の一覧を示します。
- Datastream に関連付けられた統合型
- Oracle データベース、MySQL データベース、PostgreSQL データベースのデータ型と Datastream の統合型のマッピング
さまざまなソースと BigQuery のデータ型のマッピングについては、BigQuery の宛先に関するドキュメントをご覧ください。
Datastream の統合型
型名 | 情報 | Avro の定義 | JSON 定義 |
---|---|---|---|
BOOLEAN |
ブール値 | ブール値 | ブール値 |
BYTES |
未署名バイトのシーケンス | バイト | 文字列 |
DATE |
エポックからの日数 | 日付論理型 | 文字列 [ISO-8601] |
DATETIME |
日付(エポックからの日数)と時間(午前 0 時からのマイクロ秒単位) | カスタム型 { "type": "record", "name": "datetime", "fields": [ {"name": "date", "type": "int", "logicalType": "date"}, {"name": "time", "type": "long", "logicalType": "time-micros"} ] } |
文字列 [ISO-8601] |
DECIMAL (p,s) |
任意精度符号付き 10 進数 | decimal 論理型 | 数値 |
DOUBLE |
64 ビット浮動小数点数 | double | 数値 |
FLOAT |
32 ビット浮動小数点数 | float | 数値 |
INTEGER |
32 ビット整数。 | int | 数値 |
INTERVAL |
2 つのイベント間の期間(月、時間、マイクロ秒) | カスタム型 { "type": "record", "name": "interval", "fields": [ {"name": "months", "type": "int"} {"name": "hours", "type": "int"}, {"name": "micros", "type": "long"} ] } |
文字列 [ISO-8601] |
JSON |
JSON オブジェクト | カスタムの論理型 { "type": "string", "logicalType": "json" } |
ネストされた JSON |
LONG |
64 ビット整数。 | long | 数値 |
NUMBER |
数値データ型 | カスタムの論理型 { "type": "string", "logicalType": "number" } |
文字列 |
STRING |
文字列の長さに制限がない | 文字列 | 文字列 |
TIME |
タイムゾーンに関係なく、午前 0 時からの経過時間(マイクロ秒)。 | time-micros の論理型 | 文字列 [ISO-8601] |
TIME_INTERVAL |
2 つのイベント間の経過時間(マイクロ秒) | カスタムの論理型 { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
タイムゾーンに関係なく、エポックからの経過時間(マイクロ秒単位) | タイムスタンプ論理型 | 文字列 [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
特定のタイムゾーン オフセット(ミリ秒単位)を持つエポックからの経過時間(マイクロ秒) | カスタム型 { "type": "record", "name": "timestampTz", "fields": [ {"name": "timestamp", "type": "long" "logicalType": "timestamp-micros"}, {"name": "offset", "type": "int" "logicalType": "time-millis"} ] } |
文字列 [ISO-8601] |
TIME WITH TIME ZONE |
特定のタイムゾーン オフセットで午前 0 時からの経過時間(マイクロ秒) | カスタム型 { "type": "record", "name": "timeTz", "fields": [ {"name": "time", "type": "long" "logicalType": "time-micros"}, {"name": "offset", "type": "int", "logicalType": "time-millis"} ] } |
文字列 [ISO-8601] |
UNION |
可変データ型 | Union | 配列 |
UNSUPPORTED |
サポートされていないデータ型 | カスタムの論理型 { "type": "null", "logicalType": "unsupported" } |
null |
VARCHAR |
最大 n 文字の文字列 | カスタムの論理型 { "type": "string", "logicalType": "varchar" "length": N } |
文字列 |
Oracle のデータ型を Datastream の統合型にマッピングする
Oracle のデータ型 | Datastream の統合タイプ |
---|---|
ANYDATA |
UNSUPPORTED |
BFILE |
STRING |
BINARY DOUBLE |
DOUBLE |
BINARY FLOAT |
FLOAT |
BLOB |
BYTES |
CHAR |
VARCHAR |
CLOB |
STRING |
DATE |
DATETIME
|
DOUBLE PRECISION |
DOUBLE |
FLOAT(p) |
DOUBLE |
INTERVAL DAY TO SECOND |
UNSUPPORTED |
INTERVAL YEAR TO MONTH |
UNSUPPORTED |
LONG/LONG RAW |
UNSUPPORTED |
NCHAR |
STRING |
NCLOB |
STRING |
NUMBER |
NUMBER |
NUMBER(p,s<=0) |
p<=18 の場合、 |
NUMBER(p,s>0) |
p= |
NVARCHAR2 |
STRING |
RAW |
STRING |
ROWID |
STRING |
SDO_GEOMETRY |
UNSUPPORTED |
SMALLINT |
INTEGER |
TIMESTAMP |
TIMESTAMP
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE
|
UDT (ユーザー定義型) |
UNSUPPORTED |
UROWID |
UNSUPPORTED |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
XMLTYPE |
UNSUPPORTED |
MySQL のデータ型を Datastream の統合型にマッピングする
MySQL のデータ型 | Datastream の統合タイプ |
---|---|
BIGINT(size) SIGNED |
LONG |
BIGINT(size) UNSIGNED |
宛先が BigQuery の場合は DECIMAL 、Cloud Storage の場合は NUMBER |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
宛先が BigQuery の場合は DATE 、Cloud Storage の場合は TIMESTAMP |
DATETIME(fsp) |
宛先が BigQuery の場合は DATETIME 、Cloud Storage の場合は TIMESTAMP |
DECIMAL(size, d) |
DECIMAL(size, d) |
DOUBLE(size, d) |
DOUBLE |
ENUM(val1, val2, val3, ...) |
STRING |
FLOAT(p) |
FLOAT |
FLOAT(size, d) |
FLOAT |
GEOMETRY |
UNSUPPORTED |
INTEGER(size) SIGNED |
INTEGER |
INTEGER(size) UNSIGNED |
LONG |
JSON |
宛先が BigQuery の場合は JSON 、Cloud Storage の場合は STRING
|
LONGBLOB |
STRING (hex encoded) |
LONGTEXT |
STRING |
MEDIUMBLOB |
STRING (hex encoded) |
MEDIUMINT(size) |
INTEGER |
MEDIUMTEXT |
STRING |
SET(val1, val2, val3, ...) |
STRING |
SMALLINT(size) |
INTEGER |
TEXT(size) |
STRING |
TIME(fsp) |
宛先が BigQuery の場合は INTERVAL 、Cloud Storage の場合は TIME_INTERVAL |
TIMESTAMP(fsp) |
TIMESTAMP |
TINYBLOB |
STRING (hex encoded) |
TINYINT(size) |
INTEGER |
TINYTEXT |
STRING |
VARBINARY(size) |
STRING (hex encoded) |
VARCHAR |
STRING |
YEAR |
INTEGER |
PostgreSQL のデータ型を Datastream の統合型にマッピングする
PostgreSQL のデータ型 | Datastream の統合タイプ |
---|---|
ARRAY |
JSON
|
BIGINT |
LONG |
BIT |
BYTES |
BIT_VARYING |
BYTES |
BOOLEAN |
BOOLEAN |
BOX |
UNSUPPORTED |
BYTEA |
BYTES |
CHARACTER |
|
CHARACTER_VARYING |
|
CIDR |
STRING |
CIRCLE |
UNSUPPORTED |
CITEXT |
STRING |
DATE |
DATE |
DOUBLE_PRECISION |
DOUBLE |
ENUM |
STRING |
INET |
STRING |
INTEGER |
INTEGER |
INTERVAL |
INTERVAL |
JSON |
JSON |
JSONB |
JSON |
LINE |
UNSUPPORTED |
LSEG |
UNSUPPORTED |
MACADDR |
STRING |
MONEY |
DOUBLE |
NUMERIC |
|
OID |
LONG |
PATH |
UNSUPPORTED |
POINT |
UNSUPPORTED |
POLYGON |
UNSUPPORTED |
REAL |
FLOAT |
SMALLINT |
INTEGER |
SMALLSERIAL |
INTEGER |
SERIAL |
INTEGER |
TEXT |
STRING |
TIME |
TIME |
TIMESTAMP |
TIMESTAMP |
TIMESTAMP_WITH_TIMEZONE |
TIMESTAMP_WITH_TIMEZONE |
TIME_WITH_TIMEZONE |
TIME_WITH_TIMEZONE |
TSQUERY |
STRING |
TSVECTOR |
STRING |
TXID_SNAPSHOT |
STRING |
UUID |
STRING |
XML |
STRING |
SQL Server のデータ型を Datastream の統合型にマッピングする
SQL Server のデータ型 | Datastream の統合タイプ |
---|---|
BIGINT |
LONG |
BINARY |
BYTES |
BIT |
BOOLEAN |
CHAR |
STRING |
DATE |
DATE |
DATETIME2 |
DATETIME |
DATETIME |
DATETIME |
DATETIMEOFFSET |
TIMESTAMP WITH TIMEZONE |
DECIMAL |
DECIMAL (p, s) |
FLOAT |
DOUBLE |
HIERARCHYID |
STRING |
INT |
INTEGER |
IMAGE |
BYTES |
MONEY |
DECIMAL |
NCHAR |
STRING |
NVARCHAR |
STRING |
NVARCHAR(MAX) |
STRING |
NTEXT |
STRING |
NUMERIC |
DECIMAL (p, s) |
REAL |
FLOAT |
SMALLDATETIME |
DATETIME |
SMALLINT |
INTEGER |
SMALLMONEY |
DECIMAL |
TEXT |
STRING |
TINYINT |
INTEGER |
TIME |
TIME |
TIMESTAMP/ROWVERSION |
BYTES |
UNIQUEIDENTIFIER |
STRING |
VARCHAR |
STRING |
VARCHAR(MAX) |
STRING |
VARBINARY |
BYTES |
VARBINARY(MAX) |
BYTES |
XML |
STRING |
次のステップ
- Oracle ソースの構成の詳細については、移行元 Oracle データベースの構成をご覧ください。
- MySQL ソースの構成の詳細については、ソースの MySQL データベースを構成するをご覧ください。
- PostgreSQL ソースの構成の詳細については、ソース PostgreSQL データベースの構成をご覧ください。
- SQL Server ソースの構成の詳細については、ソース SQL Server データベースを構成するをご覧ください。