סוגים מאוחדים הם סוגי הנתונים שמופיעים באירועי Avro או JSON. הם מייצגים באופן מאוחד סוג נתונים ספציפי ל-Datastream, בכמה מקורות ויעדים שהשירות תומך בהם.
הסוגים המאוחדים הם קבוצת העל של כל ייצוגי הסוגים בכל סוגי המקורות הנתמכים, שמייצגים את סוג המקור המקורי באופן כללי אבל ללא אובדן נתונים.
בטבלאות הבאות מפורטים:
- הסוגים המאוחדים שמשויכים ל-Datastream
- מיפויים בין סוגי נתונים של Oracle, MySQL, SQL Server, PostgreSQL, Salesforce ו-MongoDB לבין הסוגים המאוחדים של 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 |
מספרים בשיטת נקודה צפה (floating point) ב-64 ביט | double | מספר |
FLOAT |
מספרים ממשיים (float) ב-32 ביט | מספר ממשי (float) | מספר |
INTEGER |
מספר שלם (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 ביט | ארוך | מספר |
NUMBER |
סוג נתונים מספרי | סוג לוגי מותאם אישית
{
"type": "string",
"logicalType": "number"
}
|
מחרוזת |
STRING |
אורך מחרוזת ללא הגבלה | מחרוזת | מחרוזת |
TIME |
כמה מיקרו-שניות חלפו מאז חצות, ללא קשר לאזור הזמן. | סוג לוגי של מיקרו-זמן | מחרוזת [ISO-8601] |
TIME INTERVAL |
כמה מיקרו-שניות חלפו בין שני אירועים | סוג לוגי מותאם אישית
{
"type": "long",
"logicalType": "time-interval-micros"
}
|
ארוך |
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] |
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) |
If 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 TIME ZONE |
TIMESTAMP WITH TIME ZONE |
TIME WITH TIME ZONE |
TIME WITH TIME ZONE |
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 TIME ZONE |
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 תומכת בהם:
מיפויים של סוגי נתונים פרימיטיביים
| סוג הנתונים ב-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 |
מיפוי של סוגי נתונים ב-Spanner (GoogleSQL) לסוגים מאוחדים של Datastream
| סוג הנתונים ב-Spanner | סוג נתונים מאוחד |
|---|---|
ARRAY |
ARRAY |
BOOL |
BOOLEAN |
BYTES |
BYTES |
DATE |
DATE |
FLOAT32 |
FLOAT |
FLOAT64 |
DOUBLE |
INT64 |
LONG |
JSON |
JSON |
NUMERIC |
NUMBER |
STRING |
STRING |
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
UUID |
STRING |
PROTO |
UNSUPPORTED |
ENUM |
UNSUPPORTED |
מיפוי של סוגי נתונים ב-Spanner (PostgreSQL) לסוגים מאוחדים ב-Datastream
| סוג הנתונים ב-Spanner | סוג נתונים מאוחד |
|---|---|
ARRAY |
ARRAY |
BIGINT |
LONG |
BOOL |
BOOLEAN |
BYTEA |
BYTES |
CHARACTER VARYING |
STRING |
DATE |
DATE |
DECIMAL |
NUMBER |
DOUBLE PRECISION |
DOUBLE |
FLOAT8 |
DOUBLE |
INT8 |
LONG |
JSONB |
JSON |
NUMERIC |
NUMBER |
TEXT |
STRING |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
TIMESTAMP WITH TIME ZONE |
VARCHAR |
STRING |
UUID |
STRING |
סוגי נתונים ב-MongoDB
כל מסמך MongoDB נכתב כסוג מאוחד JSON ב-Datastream.
דוגמאות לאופן הכתיבה של סוגי נתונים ב-BigQuery מופיעות במאמר בנושא הגדרת יעד ב-BigQuery.
המאמרים הבאים
- מידע נוסף על הגדרת מקור Oracle זמין במאמר הגדרת מסד נתונים של Oracle כמקור.
- מידע נוסף על הגדרת מקור MySQL זמין במאמר הגדרת מסד נתונים של MySQL כמקור.
- מידע נוסף על הגדרת מקור PostgreSQL זמין במאמר הגדרת מסד נתונים של מקור PostgreSQL.
- מידע נוסף על הגדרת מקור SQL Server זמין במאמר הגדרת מסד נתונים של SQL Server כמקור.
- מידע נוסף על הגדרת מקור Salesforce זמין במאמר הגדרת ארגון מקור ב-Salesforce.
- מידע נוסף על הגדרת מקור MongoDB זמין במאמר הגדרת מסד נתונים של מקור MongoDB.