統合型とは、Avro イベントまたは JSON イベントに表示されるデータ型です。これらは、Datastream がサポートする複数のデータソースと宛先にまたがるデータ型の Datastream 固有の統合表現です。
統合型は、サポートされているすべてのソースタイプのすべての型表現のスーパーセットであり、元のソースタイプを汎用的、可逆的に表します。
次の表に、以下の内容を示します。
- Datastream に関連付けられた統合型
- Oracle、MySQL、SQL Server、PostgreSQL、Salesforce のデータ型と 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] | 
| 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 | 
| COMPOSITE | UNSUPPORTED | 
| 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 | 
| XID | STRING | 
| XID8 | 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 | 
| 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 | 
Salesforce のデータ型を Datastream の統合型にマッピングする
Salesforce でサポートされているデータ型には、次の 2 種類があります。
プリミティブ データ型のマッピング
| Salesforce のデータ型 | Datastream の統合タイプ | 
|---|---|
| BOOLEAN | BOOLEAN | 
| BYTE | BYTES | 
| DATE | 宛先が BigQuery の場合は DATE、Cloud Storage の場合はTIMESTAMP | 
| DATETIME | 宛先が BigQuery の場合は DATETIME、Cloud Storage の場合はTIMESTAMP | 
| DOUBLE | DOUBLE | 
| INT | INTEGER | 
| STRING | STRING | 
| TIME | TIME | 
フィールドのデータ型マッピング
| Salesforce のデータ型 | Datastream の統合タイプ | 
|---|---|
| ADDRESS | この複合フィールドのサブフィールドは、それぞれのデータ型で複製されます。 | 
| ANYTYPE( | STRING | 
| COMBOBOX | STRING | 
| CURRENCY | DOUBLE | 
| DATACATEGORYGROUPREFERENCE | STRING | 
| EMAIL | STRING | 
| ENCRYPTEDSTRING | STRING | 
| GEOLOCATION | この複合フィールドのサブフィールドは、それぞれのデータ型で複製されます。 | 
| ID | STRING | 
| JUNCTIONIDLIST | STRING | 
| MASTERRECORD | STRING | 
| MULTIPICKLIST | STRING | 
| PERCENT | DOUBLE | 
| PHONE | STRING | 
| PICKLIST | STRING | 
| REFERENCE | STRING | 
| TEXTAREA | STRING | 
| URL | STRING | 
MongoDB のデータ型
各 MongoDB ドキュメントは、Datastream の JSON 統一型として書き込まれます。BigQuery でデータ型を書き込む方法の例については、BigQuery の宛先を構成するをご覧ください。
次のステップ
- Oracle ソースの構成の詳細については、移行元 Oracle データベースを構成するをご覧ください。
- MySQL ソースの構成の詳細については、ソース MySQL データベースを構成するをご覧ください。
- PostgreSQL ソースの構成の詳細については、ソース PostgreSQL データベースの構成をご覧ください。
- SQL Server ソースの構成の詳細については、ソース SQL Server データベースを構成するをご覧ください。
- Salesforce ソースの構成の詳細については、ソース Salesforce 組織を構成するをご覧ください。
- MongoDB ソースの構成の詳細については、移行元 MongoDB データベースを構成するをご覧ください。