表格
表格可定義資料的結構。
您可以將新資料載入表格或參照現有位置中的資料。您可以透過建立表格權限,在表格上定義微點存取控制權限。
表格可以是外部表格或受管理表格。
外部表格
外部表格會定義儲存於非由 Oracle AI Data Platform 管理之位置的資料結構。當您在 AI 資料平台中建立外部表格時,中繼資料生命週期由 AI 資料平台管理。當您刪除外部表格時,只會刪除表格定義。未刪除外部表格所參考的資料。
請確定您的使用者具有下列建立外部表格所需的 IAM 原則:
allow group <GroupName> to read buckets in compartment id <external-data-CompartmentId>
allow group <GroupName> to inspect objects in compartment id <external-data-CompartmentId>外部表格需要額外的 IAM 原則。如需詳細資訊,請參閱 Oracle AI Data Platform 的 IAM 原則。
受管理表格
受管理表格會定義儲存於 AI 資料平台內的資料結構,且只能由 AI 資料平台使用者存取。
刪除受管理表格時,會刪除表格定義和表格資料。
支援的表格格式
表格可以使用 CSV、JSON、Avro、Parquet 和 ORC 等檔案格式,或是 Delta 和 Apache Iceberg 等交易表格格式。Iceberg 表格使用 Hadoop 目錄實作來管理 Oracle Cloud Infrastructure Object Storage 中的表格中繼資料。
| 格式 | 描述 | 使用情況 |
|---|---|---|
| 逗號分隔值 (CSV) | 資料會以文字檔案形式儲存,並採用以指定列為基礎的檔案格式來建構資料。通常,檔案中的第一個資料列是標頭資料列,其中包含資料的資料欄名稱。 | 用來在系統之間交換表格式資料。檔案中的每個資料列都是表格中的一個資料列。 |
| JavaScript 物件表示法 (JSON) | 資料會以標準文字格式儲存,以根據 JavaScript 物件語法代表結構化資料。JSON 支援物件清單或階層結構。 | 用於串流應用程式。JSON 可簡化單一文件中具有複雜關係的相關資料儲存,並避免混亂清單轉換為關聯式資料模型。請注意,JSON 無法分割。 |
| Avro | 資料會以以資料列為基礎的二進位格式儲存,而綱要則以 JSON 格式儲存,以將檔案大小降到最低並提高效率。Avro 透過管理新增、遺漏和變更的欄位,提供可靠的綱要發展支援。這可讓舊軟體讀取新資料,以及讀取舊資料的新軟體。也稱為資料序列化系統。 | 用於資料儲存,因為 avro 檔案可分割且可壓縮。序列化以資料列為基礎的儲存體適用於繁重的寫入交易,例如將資料插入 AI 資料平台。當高速寫入期間綱要演進至關重要時,Avro 也是一個不錯的選擇。 |
| Parquet | 資料以分欄資料格式儲存,而且具有高度壓縮與可分割性。Parquet 已針對典範「多讀」(WORM) 進行最佳化。它會慢慢寫入,但速度非常快,尤其是在您只存取資料欄子集時。 | 用於解決大數據問題,因為壓縮演算法對於分欄資料格式的運作方式較佳。您可以使用各種格式儲存大數據,例如影像、影片、文件和結構化資料表。Parquet 在讀取部分資料時,是繁重工作負載的最佳選擇。例如,當資料集包含許多資料欄,但您只想要存取資料欄子集。當您依賴 Spark 或想要數個服務存取儲存在物件儲存中的相同資料時,這是理想的選擇。 |
| 最佳化資料列分欄 (ORC) | 資料會以分欄格式儲存在單一檔案中的資料列集合中。 | 用於平行處理叢集的資料列集合。當讀取交易超過寫入交易或壓縮為優先順序時,這是理想的選擇。 |
| 差異 | 資料會以分欄格式儲存,並使用以 JSON 檔案為基礎的交易日誌來擴充 Parquet 資料檔,以進行 ACID 交易和可擴展的描述資料處理。 | 用於交易支援。 |
| Iceberg | 透過啟動多版本功能描述資料、資訊清單和快照來管理 Parquet 資料檔的開放式表格格式。AI 資料平台使用 Iceberg Hadoop 目錄實作。 | 用於 ACID 交易、並行讀取和寫入、綱要與分割區發展、差旅查詢、資料列層次更新、更新插入以及快照管理。 |
支援的資料類型
| 資料類型 | 描述 |
|---|---|
| 位元組類型 | 代表 1 位元組的正負號整數。數字的範圍從 -128 到 127。 |
| 簡短類型 | 代表 2 位元組簽署的整數。數字的範圍從 -32768 到 32767。 |
| 整數類型 | 代表 4 位元組的正負號整數。數字的範圍從 -2147483648 到 2147483647。 |
| 詳細類型 | 代表 8 位元組的正負號整數。數字的範圍從 -9223372036854775808 到 9223372036854775807。 |
| 浮動類型 | 代表 4 位元組的單一精確度浮點數。 |
| 雙倍型態 | 代表 8 位元組雙精度浮點數。 |
| 小數類型 | 代表任意精確度簽署的小數位數。由 java.math.BigDecimal 內部提供支援。BigDecimal 包含任意精確度的整數未調整值和 32 位元整數刻度。 |
| 字串類型 | 代表字元字串值。 |
| VarcharType (長度) | 具有長度限制的 StringType 變體。如果輸入字串超過長度限制,資料寫入將會失敗。 |
| CharType (長度) | 固定長度的 VarcharType (長度) 變化。CharType (n) 類型的讀取欄一律傳回長度為 n 的字串值。字元類型資料欄比較會將短整數填補至較長的長度。 |
| 二進位類型 | 代表位元組順序值。 |
| 布林類型 | 代表布林值。 |
| 日期類型 | 代表包含年度、月份及日期欄位值 (不含時區) 的值。 |
| 時間戳記類型 | 當地時區的時戳 (TIMESTAMP_LTZ)。它代表包含年度、月份、日期、小時、分鐘和秒等欄位值與階段作業當地時區的值。時間戳記值代表一個絕對時間點。 |
| 時間戳記 NTZType | 不含時區的時戳 (TIMESTAMP_NTZ)。它代表包含 year、month、day、hour、min 和 second 欄位值的值。執行所有作業時,不會將任何時區納入考量。 |
| YearMonthIntervalType (startField, endField) | 代表一個月的間隔,由 MONTH 的連續子集、年內的月份 [0..11] 和年份組成,範圍為 [0..178956970]。 |
| DayTimeIntervalType (startField, endField) | 代表日時間間隔,由連續的 SECOND 子集組成,秒在分鐘內且可能為第二個 [0..59.99999]、MINUTE、小時內分鐘 [0..59]、小時內小時 [0..23] 和 DAY (範圍為 [0..106751991] 的天數)。 |
| ArrayType (elementType, containsNull) | 代表由 elementType 類型的一系列元素組成的值。containsNull 是用來指示 ArrayType 值中的元素是否可以有空值。 |
| MapType (keyType, valueType, valueContainsNull) | 代表由一組索引鍵 - 值組組成的值。關鍵碼的資料類型由 keyType 描述,值的資料類型由 valueType 描述。對於 MapType 值,不允許索引鍵具有空值。valueContainsNull 是用來指示 MapType 值的值是否可以為空值。 |
| StructType (欄位) | 以結構描述的一系列「結構欄位」(欄位) 來代表值。 |
| StructField (name, dataType, nullable) | 代表 StructType 中的欄位。欄位的名稱會以名稱表示。dataType 會指示欄位的資料類型。空值是用來指示這些欄位的值是否可以有空值。 |
限制
下列限制適用於 AI 資料平台中的表格:
- 您無法在磁碟區內 / 磁碟區的任何資料檔或目錄上定義外部表格。
- 您無法在儲存桶和 (或) 其目錄上定義已用於其他外部表格或外部磁碟區的外部表格
- 檢視無法在「主要目錄」中檢視 / 列出。
綱要發展
Oracle AI Data Platform 中的結構描述發展,可讓擁有必要權限的使用者在記事本中使用 SQL 更新受管理表格。
當表格定義隨著時間變更以支援新的資料欄、移除的資料欄、重新命名的資料欄、分割區變更或表格重新命名,而不需要從頭重新建立資料集時,此功能非常有用。支援的格式包括 Parquet、Avro 和 Delta。
支援的操作
- 重新命名表格:支援 Delta、Parquet、Avro 和 Iceberg
- 新增資料欄:支援 Delta、Parquet、Avro 和 Iceberg
- 置放資料欄:支援 Delta 和 Iceberg;Parquet 和 Avro 不支援
- 更改或重新命名欄:支援 Delta 和 Iceberg;Parquet 和 Avro 不支援
- 取代欄:支援 Delta 和 Iceberg
- 新增分割區:透過 DDL 支援 Parquet 和 Avro。對於 Delta 和 Iceberg,會在寫入資料時自動建立分割區 。個別分割區不會透過 DDL 新增。Iceberg 支援使用
ALTER TABLE ... ADD PARTITION FIELD為分割區規格新增欄位。 - 刪除分割區:透過 DDL 支援 Parquet 和 Avro。若為差異,請移除相關資料並執行 VACUUM。Iceberg 不支援透過 DDL 刪除個別分割區;改為刪除相關列 。Iceberg 支援使用
ALTER TABLE ... DROP PARTITION FIELD從分割區設定中移除欄位 。 - 變更資料類型:Parquet 或 Avro 不支援。差異可能需要 CTAS 或覆寫綱要解決方法。Iceberg 僅支援相容類型的促銷,例如
INT至BIGINT、FLOAT to DOUBLE,以及透過ALTER TABLE增加小數精確度。不支援縮小或不相容的轉換。
編輯餐桌
您可以修改所管理表格的詳細資料。
附註:
在 Oracle AI Data Platform 中對外部目錄表格進行的編輯不會發送至遠端目錄。- 瀏覽至您的綱要。
- 選取表格頁籤。
- 在要編輯的表格旁邊,按一下
動作。- 按一下重新命名,即可變更表格的名稱。輸入新名稱,然後按 Enter 。
- 按一下編輯描述,即可變更表格的描述。提供新的描述,然後按一下儲存。

