支援的資料類型和值 - Amazon Quick Suite

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援的資料類型和值

Amazon Quick Sight 目前支援下列基本資料類型:DateIntegerDecimalString。SPICE 中支援下列資料類型:DateDecimal-fixedDecimal-floatIntegerString。Quick Sight 透過將布林值提升為整數來接受布林值。它也可以推導出地理空間資料類型。地理空間資料類型使用中繼資料來解譯實體資料類型。緯度和經度為數字。所有其他地理空間類別為字串。

請確保用作資料來源的任何資料表或檔案,僅包含可隱含轉換為這些資料類型的欄位。Amazon Quick Sight 會略過任何無法轉換的欄位或資料欄。如果收到「欄位因為使用不受支援的資料類型而被略過」的錯誤訊息,請變更您的查詢或資料表,以移除或重新轉換不受支援的資料類型。

字串與文字資料

包含字元的欄位或資料欄稱為字串。具有 STRING 資料類型的欄位一開始可以包含幾乎任何類型的資料。範例包括名稱、描述、電話號碼、帳戶號碼、JSON 資料、城市、郵遞區號、日期以及可用於計算的數字。這些類型有時在一般意義上被稱為文字資料,但在技術意義上並非如此。Quick Sight 不支援資料集欄中的二進位和字元大型物件 (BLOBs)。在 Quick Sight 文件中,「文字」一詞一律表示「字串資料」。

當您第一次查詢或匯入資料時,Quick Sight 會嘗試解譯其識別為其他類型的資料,例如日期和數字。驗證指派給欄位或資料欄的資料類型是否正確是很好的做法。

對於匯入資料中的每個字串欄位,Quick Sight 會使用 8 個位元組的欄位長度加上 UTF-8 編碼字元長度。Amazon Quick Sight 支援 UTF-8 檔案編碼,但不支援 UTF-8 (使用 BOM)。

日期和時間資料

資料類型為 Date 的欄位也包括時間資料,也稱為 Datetime 欄位。Quick Sight 支援使用支援日期格式的日期和時間。

Quick Sight 使用 UTC 時間來查詢、篩選和顯示日期資料。當日期資料未指定時區時,Quick Sight 會假設 UTC 值。當日期資料確實指定時區時,Quick Sight 會將其轉換為以 UTC 時間顯示。例如,時區位移為 的日期欄位2015-11-01T03:00:00-08:00會轉換為 UTC,並在 Amazon Quick Sight 中顯示為 2015-11-01T15:30:00

對於匯入資料中的每個DATE欄位,Quick Sight 會使用 8 個位元組的欄位長度。Quick Sight 支援 UTF-8 檔案編碼,但不支援 UTF-8 (使用 BOM)。

數值資料

數字資料包括整數和小數。資料類型為 INT 的整數是不帶小數位的負數或正數。Quick Sight 不會區分大整數和小整數。值超過 90071992547409912^53 - 1 的整數可能無法在視覺效果中完全或正確顯示。

資料類型為 Decimal 的小數為負數或正數,其在小數點前後至少包含一位小數。當您選擇「直接查詢」模式時,所有非整數小數類型都被標示為 Decimal,底層引擎會根據資料來源支援的行為處理資料點的精確度。如需支援的資料來源類型的詳細資訊,請參閱 支援的資料類型和值

當您將資料集存放在 時SPICE,您可以選擇將小數值儲存為 fixedfloat 小數類型。 Decimal-fixed資料類型使用小數 (18,4) 格式,允許總計 18 位數和小數點後最多 4 位數。 Decimal-fixed 資料類型是執行精確數學操作的理想選擇,但 Quick Sight 會在將值擷取到 時,將值四捨五入到最接近的一萬位SPICE。

Decimal-float 資料類型為值提供大約 16 位有效數字的精確度。有效數字可以位於小數點任何一側,以支援同時具有多個小數位和更高位數的數字。例如,Decimal-float 資料類型支援數字 12345.12345678901234567890.12345。如果您使用接近 0 的非常小的數字,則 Decimal-float 資料類型支援小數點右側最多 15 位數字,例如 0.123451234512345。這種資料類型支援的最大值是 1.8 * 10^308,可最大限度地降低資料集出現溢出錯誤的可能性。

Decimal-float 資料類型不精確,有些值儲存為近似值而不是實際值。當您儲存並傳回某些特定值時,這可能會導致輕微的偏差。下列考量會套用於 Decimal-float 資料類型。

  • 如果您使用的資料集來自 Amazon S3 資料來源,SPICE 會將 Decimal-float 小數類型指派給所有數值格式的小數值。

  • 如果您使用的資料集來自資料庫,SPICE 使用在資料庫中指派值的小數類型。例如,如果該值在資料庫中被指派為定點數值,值將是 SPICE 中的 Decimal-fixed 類型。

對於包含可轉換為 Decimal-float 資料類型的欄位的現有 SPICE 資料集,編輯資料集頁面中會出現一個快顯視窗。若要將現有資料集的欄位轉換為 Decimal-float 資料類型,選擇更新欄位。如果您不想加入,請選擇不更新欄位。每次您開啟編輯資料集頁面時,更新欄位都會出現,直到資料集儲存並發布。

來自外部資料來源的受支援資料類型

下表列出搭配 Amazon Quick Sight 使用下列資料來源時支援的資料類型。

資料庫引擎或來源 數值資料類型 字串資料類型 日期時間資料類型 布林值資料類型

Amazon Athena、Presto、Starburst、Trino

  • bigint

  • decimal

  • double

  • integer

  • real

  • smallint

  • tinyint

  • char

  • varchar

  • date

  • timestamp

  • boolean

Amazon AuroraMariaDBMySQL

  • bigint

  • decimal

  • double

  • int

  • integer

  • mediumint

  • numeric

  • smallint

  • tinyint

  • char

  • enum

  • set

  • text

  • varchar

  • date

  • datetime

  • timestamp

  • year

Amazon OpenSearch Service

  • byte

  • integer

  • long

  • float

  • double

  • string (OpenSearch 服務中的關鍵字字串欄位類型)

  • ip

  • timestamp

  • boolean

  • binary

Oracle

  • bigint

  • decimal

  • decimal

  • int

  • money

  • numeric

  • real

  • smallint

  • smallmoney

  • tinyint

  • char

  • nchar

  • nvarchar

  • text

  • varchar

  • date

  • datetime

  • datetime2

  • datetimeoffset

  • smalldatetime

bit

PostgreSQL

  • bigint

  • decimal

  • double

  • integer

  • numeric

  • precision

  • real

  • smallint

  • char

  • character

  • text

  • varchar

  • varying character

  • date

  • timestamp

  • boolean

Apache Spark

  • bigint

  • decimal

  • double

  • integer

  • real

  • smallint

  • tinyint

  • varchar

  • date

  • timestamp

  • boolean

Snowflake

  • bigint

  • byteint

  • decimal

  • double

  • doubleprecision

  • float

  • float4

  • float8

  • int

  • integer

  • number

  • numeric

  • real

  • smallint

  • tinyint

  • char

  • character

  • string

  • text

  • varchar

  • date

  • datetime

  • time

  • timestamp

  • timestamp_*

  • boolean

Microsoft SQL Server

  • bigint

  • bit

  • decimal

  • int

  • money

  • numeric

  • real

  • smallint

  • smallmoney

  • tinyint

  • char

  • nchar

  • nvarchar

  • text

  • varchar

  • date

  • datetime

  • datetime2

  • smalldatetime

  • bit

支援的日期格式

Amazon Quick Sight 支援本節所述的日期和時間格式。將資料新增至 Amazon Quick Sight 之前,請檢查您的日期格式是否相容。如果需要使用不受支援的格式,請參閱 使用不支援的日期或自訂日期

根據資料來源類型不同,支援的格式也不同,如下所示:

資料來源 時鐘 日期格式

檔案上傳

Amazon S3 來源

Athena

Salesforce

24 小時和 12 小時制

Joda API 文檔中描述了受支援的日期和時間格式。

如需 Joda 日期格式的完整清單,請參閱 Joda 網站上的 Class DateTimeFormat

對於儲存在記憶體 (SPICE) 中的資料集,Amazon Quick Sight 支援下列範圍內的日期: Jan 1, 1400 00:00:00 UTCDec 31, 9999, 23:59:59 UTC

關聯式資料庫來源

僅 24 小時制

下列資料和時間格式:

  1. dd/MM/yyyy HH:mm:ss,例如 31/12/2016 15:30:00。

  2. dd/MM/yyyy,例如 31/12/2016。

  3. dd/MMM/yyyy HH:mm:ss,例如 2016 年 12 月 31 日 15:30:00。

  4. dd/MMM/yyyy,例如 2016 年 12 月 31 日。

  5. dd-MMM-yyyy HH:mm:ss,例如 2016 年 12 月 31 日 15:30:00。

  6. dd-MMM-yyyy,例如 2016 年 12 月 31 日。

  7. dd-MM-yyyy HH:mm:ss,例如 31-12-2016 15:30:00。

  8. dd-MM-yyyy,例如 31-12-2016。

  9. MM/dd/yyyy HH:mm:ss,例如 12/31/2016 15:30:00。

  10. MM/dd/yyyy,例如 12/31/2016。

  11. MM-dd-yyyy HH:mm:ss,例如 12-31-2016 15:30:00。

  12. MM-dd-yyyy,例如 12-31-2016。

  13. MMM/dd/yyyy HH:mm:ss,例如 2Dec/31/2016 日 15:30:00。

  14. MMM/dd/yyyy,例如 2Dec/31/2016 日。

  15. MMM-dd-yyyy HH:mm:ss,例如 Dec-31-2016 日 15:30:00。

  16. MMM-dd-yyyy,例如 Dec-31-2016 日。

  17. yyyy/MM/dd HH:mm:ss,例如 2016/12/31 15:30:00。

  18. yyyy/MM/dd,例如 2016/12/31。

  19. yyyy/MMM/dd HH:mm:ss,例如 2016/12/31 15:30:00。

  20. yyyy/MMM/dd,例如 2016 年 12 月 31 日。

  21. yyyy-MM-dd HH:mm:ss,例如 2016-12-31 15:30:00。

  22. yyyy-MM-dd,例如 2016-12-31。

  23. yyyy-MMM-dd HH:mm:ss,例如 2016-Dec-31 日 15:30:00。

  24. yyyy-MMM-dd,例如 2016-Dec-31 日。

  25. yyyyMMdd'T'HHmmss,例如 20161231T153000。

  26. yyyy-MM-dd'T'HH:mm:ss,例如 2016-12-31T15:30:00。

  27. yyyyMMdd'T'HHmmss.SSS,例如 20161231T153000.123。

  28. MM/dd/yyyy HH:mm:ss.SSS,例如 12/31/2016 15:30:00.123。

  29. dd/MM/yyyy HH:mm:ss.SSS,例如 31/12/2016 15:30:00.123。

  30. yyyy/MM/dd HH:mm:ss.SSS,例如 2016/12/31 15:30:00.123。

  31. MMM/dd/yyyy HH:mm:ss.SSS,例如 2Dec/31/2016 日 15:30:00.123。

  32. dd/MMM/yyyy HH:mm:ss.SSS,例如 2016 年 12 月 31 日 15:30:00.123。

  33. yyyy/MMM/dd HH:mm:ss.SSS,例如 2016/12/31 15:30:00.123。

  34. yyyy-MM-dd'T'HH:mm:ss.SSS,例如 2016-12-31T15:30:00.123。

  35. MM-dd-yyyy HH:mm:ss.SSS,例如 12-31-2016 15:30:00.123。

  36. dd-MM-yyyy HH:mm:ss.SSS,例如 31-12-2016 15:30:00.123。

  37. yyyy-MM-dd HH:mm:ss.SSS,例如 2016-12-31 15:30:00.123。

  38. MMM-dd-yyyy HH:mm:ss.SSS,例如 Dec-31-2016 日 15:30:00.123。

  39. dd-MMM-yyyy HH:mm:ss.SSS,例如 2016 年 12 月 31 日 15:30:00.123。

  40. yyyy-MMM-dd HH:mm:ss.SSS,例如 2016-Dec-31 日 15:30:00.123。

資料中不支援的值

如果欄位包含的值不符合 Amazon Quick Sight 指派給欄位的資料類型,則會略過包含這些值的資料列。以下列來源資料為例。

Sales ID Sales Date Sales Amount -------------------------------------- 001 10/14/2015 12.43 002 5/3/2012 25.00 003 Unknown 18.17 004 3/8/2009 86.02

Amazon Quick Sight 會解譯Sales Date為日期欄位,並捨棄包含非日期值的資料列,因此只會匯入下列資料列。

Sales ID Sales Date Sales Amount -------------------------------------- 001 10/14/2015 12.43 002 5/3/2012 25.00 004 3/8/2009 86.02

在某些情況下,資料庫欄位可能包含 JDBC 驅動程式無法解譯的來源資料庫引擎值。在這種情況下,無法解譯的值會替換為 null,以便匯入資料列。已知此問題只發生於值全部為零的 MySQL date、datetime 和 timestamp 欄位,例如 0000-00-00 00:00:00。以下列來源資料為例。

Sales ID Sales Date Sales Amount --------------------------------------------------- 001 2004-10-12 09:14:27 12.43 002 2012-04-07 12:59:03 25.00 003 0000-00-00 00:00:00 18.17 004 2015-09-30 01:41:19 86.02

在此情況下會匯入下列資料。

Sales ID Sales Date Sales Amount --------------------------------------------------- 001 2004-10-12 09:14:27 12.43 002 2012-04-07 12:59:03 25.00 003 (null) 18.17 004 2015-09-30 01:41:19 86.02