使用檔案上傳建立或修改數據表

使用 檔案上傳頁面建立或修改數據表可讓您上傳 CSV、TSV 或 JSON、Avro、Parquet 或文本檔,以建立或覆寫受控 Delta Lake 數據表。

您可以在 Unity 目錄或 Hive 中繼存放區中建立受控差異資料表。

注意

您也可以使用新增數據 UI 或使用 COPY INTO,從雲端記憶體載入檔案。

重要

  • 您必須能夠存取執行中的計算資源和許可權,才能在目標架構中建立數據表。
  • 工作區管理員可以 停用使用檔案上傳頁面建立或修改數據表。

您可以使用 UI 從本機電腦匯入小型 CSV、TSV、JSON、Avro、Parquet 或文字檔來建立 Delta 數據表。

  • 使用 檔案上傳 頁面建立或修改數據表支援一次上傳最多 10 個檔案。
  • 上傳的檔案大小總計必須低於 2 GB。
  • 檔案必須是 CSV、TSV、JSON、Avro、Parquet 或文本檔,且擴展名為 “.csv”、“.tsv” (或 “.tab”、“.json”、“.avro”、“.parquet” 或 “.txt”。
  • 不支援壓縮檔案,例如 ziptar 檔案。

上傳檔案

  1. 按兩下 [ 新增圖示新增 > 數據]。
  2. 按兩下 [ 建立或修改資料表]。
  3. 按兩下檔案瀏覽器按鈕,或直接將檔案拖放到放置區域。

注意

匯入的檔案會上傳至您帳戶內的安全內部位置,每日會進行垃圾收集。

預覽、設定及建立數據表

您可以將數據上傳至暫存區域,而不需要連線到計算資源,但您必須選取作用中的計算資源來預覽及設定數據表。

當您設定上傳數據表的選項時,您可以預覽 50 個資料列。 按兩下檔案名底下的方格或清單按鈕,以切換資料的呈現方式。

Azure Databricks 會將受控數據表的數據檔儲存在針對包含架構所設定的位置。 您需要適當的許可權,才能在架構中建立數據表。

執行下列動作,選取要在其中建立數據表的所需架構:

  1. (僅適用於已啟用 Unity 目錄的工作區)您可以選擇目錄或舊版 hive_metastore
  2. 選取架構。
  3. (選擇性)編輯數據表名稱。

注意

您可以使用下拉式清單選取 [覆寫現有的數據表] 或 [建立新數據表]。 嘗試建立名稱衝突之新數據表的作業會顯示錯誤訊息。

您可以在建立資料表之前設定 選項資料 行。

若要建立數據表,請按兩下 頁面底部的 [建立 ]。

格式選項

格式選項取決於您上傳的檔案格式。 一般格式選項會出現在標頭列中,而在 [進階屬性] 對話框中則提供較不常用的選項。

  • 針對 CSV,有下列選項可供使用:
    • 第一列包含標頭 (預設為啟用):此選項會指定 CSV/TSV 檔案是否包含標頭。
    • 數據行分隔符:數據行之間的分隔符。 只允許單一字元,且不支援反斜杠。 這預設為 CSV 檔案的逗號。
    • 自動偵測數據行類型 (預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行型態都會推斷為 STRING
    • 數據列跨越多行 (預設為停用):數據行的值是否可以跨越檔案中的多行。
    • 跨多個檔案合併架構:是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 如果停用,則會使用一個檔案中的架構。
  • 針對 JSON,有下列選項可供使用:
    • 自動偵測數據行類型 (預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行型態都會推斷為 STRING
    • 數據列跨越多行 (預設啟用):數據行的值是否可以跨越檔案中的多行。
    • 允許批注 (預設為啟用):檔案中是否允許批注。
    • 允許單引號 (預設為啟用):檔案中是否允許單引號。
    • 推斷時間戳 (預設為啟用):是否嘗試將時間戳字串推斷為 TimestampType
  • 針對 JSON,有下列選項可供使用:
    • 自動偵測數據行類型 (預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行型態都會推斷為 STRING
    • 數據列跨越多行 (預設為停用):數據行的值是否可以跨越檔案中的多行。
    • 允許批注 檔案中是否允許批注。
    • 允許單引號:檔案中是否允許單引號。
    • 推斷時間戳:是否嘗試將時間戳字串推斷為 TimestampType

當您編輯格式選項時,數據預覽會自動更新。

注意

當您上傳多個檔案時,適用下列規則:

  • 標頭設定適用於所有檔案。 請確定標頭一致不存在或存在於所有上傳的檔案中,以避免數據遺失。
  • 上傳的檔案會藉由將所有數據附加為目標數據表中的數據列來合併。 不支援在檔案上傳期間加入或合併記錄。

數據行名稱和類型

您可以編輯資料列名稱和類型。

  • 若要編輯類型,請按兩下具有類型的圖示。

    注意

    您無法編輯或ARRAYSTRUCT巢狀類型。

  • 若要編輯資料行名稱,請按兩下資料行頂端的輸入方塊。

    數據行名稱不支援逗號、反斜杠或 Unicode 字元(例如 emojis)。

根據預設,CSV 和 JSON 檔案會推斷數據行數據類型。 您可以停用進階屬性>自動偵測數據行類型,將所有數據行解譯為STRING類型。

注意

  • 架構推斷會盡最大努力偵測數據行類型。 如果無法正確將值轉換成 NULL 目標資料類型,變更資料行類型可能會導致某些值轉換成 。 DATE不支援轉換成 BIGINTTIMESTAMP 數據行。 Databricks 建議您先建立數據表,然後再使用 SQL 函式轉換這些數據行。
  • 若要支援具有特殊字元的數據表數據行名稱,使用檔案上傳頁面建立或修改數據表會利用數據行對應
  • 若要將批註新增至數據行,請建立數據表並流覽至 [目錄 總管],您可以在其中新增批注。

支援的數據類型

使用 檔案上傳 頁面建立或修改數據表支援下列數據類型。 如需個別數據類型的詳細資訊,請參閱 SQL 數據類型

資料類型 描述
BIGINT 8 位元組帶正負號的整數。
BOOLEAN 布林值 (truefalse) 值。
DATE 值,包含欄位年、月和日的值,不含時區。
DOUBLE 8 位元組雙精確度浮點數。
STRING 字元字串值。
TIMESTAMP 值,包含欄位 year、month、day、hour、minute 和 second 的值,以及會話本地時區。
STRUCT 具有欄位序列所描述結構的值。
ARRAY 包含類型元素序列的值
elementType.
DECIMAL(P,S) 最大有效位數 P 和固定小數位數 S的數位。

已知問題

轉換成 BIGINT 不可轉換的類型 DATE,例如格式為 『yyyy』 的日期,可能會觸發錯誤。