개요
통합 유형은 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 |
날짜(에포크 이후 경과 일수) 및 시간(자정 이후의 마이크로초 수) | 커스텀 유형 { "type": "record", "name": "datetime", "fields": [ {"name": "date", "type": "int", "logicalType": "date"}, {"name": "time", "type": "long", "logicalType": "time-micros"} ] } |
문자열[ISO-8601] |
DECIMAL (p,s) |
임의 정밀도의 부호 있는 십진수 숫자 | 십진수 논리 유형 | 숫자 |
DOUBLE |
64비트 부동 소수점 숫자 | double | 숫자 |
FLOAT |
32비트 부동 소수점 숫자 | float | 숫자 |
INTEGER |
32비트 정수 | int | 숫자 |
INTERVAL |
두 이벤트 간의 기간(개월, 시간, 마이크로초) | 커스텀 유형 { "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 |
시간대에 관계없이 자정 이후에 경과된 마이크로초 수입니다. | time-micros 논리 유형 | 문자열[ISO-8601] |
TIME_INTERVAL |
두 이벤트 간 경과 시간(마이크로초) | 커스텀 논리 유형 { "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 |
특정 시간대 오프셋을 사용하여 자정 이후에 경과된 마이크로초 수 | 커스텀 유형 { "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 데이터베이스 구성을 참조하세요.