在Databricks SQL中上傳數據並創建表

Databricks SQL創建表UI允許您快速上傳CSV或TSV文件並創建Delta表。

請注意

要從雲存儲(如Azure Data Lake storage Gen2、AWS S3或穀歌雲存儲)加載文件,請查看COPY INTO教程

目標表的類型

SQL可以在Unity Catalog或Hive Metastore中創建托管Delta表。

需求

  • 要在Databricks SQL中使用Unity Catalog創建表,您需要一個metastore目錄,模式

    • 對於Unity Catalog,您還必須具有使用對所選架構的父目錄的權限。

    • 如果你的工作空間被分配給Unity Catalog亞礦,你仍然可以在Hive亞礦的模式下創建表。

  • 你需要使用而且創建要在其中創建表的模式的權限。

  • 您必須有一個正在運行的SQL倉庫。

使用文件上傳創建表

您可以使用UI從本地機器導入小型CSV或TSV文件到Databricks SQL來創建Delta表。

  • 上傳UI支持在100mb以下的時間上傳單個文件。

  • 文件必須是CSV或TSV,並且擴展名為“。CSV”或“。TSV”。

  • 壓縮文件,例如郵政編碼而且焦油不支持文件。

上傳文件

  1. 使用角色切換器導航到SQL角色。

    • 要更改角色,請單擊Databricks徽標下麵的圖標磚的標誌,並選擇一個角色。

  2. 點擊創建按鈕創建在側欄中選擇表格菜單上的。

  3. 彈出“在Databricks SQL中創建表”頁麵。

    在sql中創建表
  4. 要開始上傳,請單擊文件瀏覽器按鈕或直接在拖放區域上拖放文件。

    上傳文件

請注意

導入的文件被上傳到一個安全的內部位置,在您的帳戶,這是垃圾收集每天。

表名選擇

上傳完成後,您可以選擇數據的目的地。

表名選擇
  1. 對於分配給Unity Catalog亞礦的工作區,您可以選擇一個目錄。如果你的工作空間沒有被分配給Unity Catalog metastore,目標目錄將被隱藏,模式將從Hive metastore中加載。

    • 要在已分配給Unity Catalog metastore的工作空間中使用Hive metastore,請選擇hive_metastore在目錄選擇器中。

  2. 選擇模式。

  3. 默認情況下,UI將文件名轉換為有效的表名。您可以編輯表名。

數據預覽

上傳完成後,可以預覽數據(限製50行)。

  • 上傳完成後,UI嚐試啟動右上方選擇的端點。您可以在任何時候切換端點,但是預覽和表創建需要一個活動端點。如果端點尚未激活,則自動啟動。這可能需要一些時間。預覽開始時,您的端點正在運行。

數據預覽
  • 有兩種方法可以預覽數據,垂直或水平。要在預覽選項之間切換,請單擊表上方的切換按鈕視圖切換

格式選項

根據上傳的文件格式,可以使用不同的選項。常用格式選項出現在標題欄中,而不太常用的選項可在先進的屬性模態。

  • 對於CSV,可以使用以下選項。

    • 第一行包含標題(默認啟用):該選項指定CSV/TSV文件是否包含頭文件。

    • 列分隔符:列之間的分隔符。隻允許使用單個字符,不支持反斜杠。對於CSV文件,默認為逗號。

    • 自動檢測列類型(默認啟用):自動從文件內容檢測列類型。您可以在預覽表中編輯類型。如果將其設置為false,則所有列類型都推斷為字符串

    • 行跨多行(默認禁用):一個列的值是否可以跨越文件中的多行。

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

列標題和類型

您可以編輯列標題名稱和類型。列標題

  • 若要編輯類型,請單擊該類型的圖標。

  • 若要編輯列名,請單擊列頂部的輸入框。

    • 列名不支持逗號、反斜杠或unicode字符(例如表情符號)。

對於CSV文件,默認情況下推斷列數據類型。您可以將所有列解釋為字符串通過禁用輸入先進的屬性>自動檢測列類型

請注意

  • 模式推斷盡最大努力檢測列類型。更改列類型可能導致轉換到某些值如果該值不能正確地轉換為目標數據類型。鑄造長整型數字日期時間戳不支持列。Databricks建議先創建一個表,然後使用SQL函數轉換這些列。

  • 為了支持具有特殊字符的表列名,可以在Databricks SQL杠杆中通過上傳創建表UI列映射

  • 若要向列添加注釋,請創建表並導航到數據瀏覽在這裏你可以添加注釋。

支持的數據類型

CSV上傳創建表支持以下數據類型。有關各個數據類型的詳細信息,請參見SQL數據類型

數據類型

描述

長整型數字

8字節有符號整數。

布爾

布爾(真正的)的值。

日期

包含年、月和日字段的值,不帶時區。

8字節雙精度浮點數。

字符串

字符串值。

時間戳

由年、月、日、小時、分和秒字段的值和會話本地時區組成。

創建表

如需創建表,請單擊創建在這一頁的底部。創建表

在Databricks SQL中使用create table創建表後,可以使用數據瀏覽頁將顯示指定編目和模式下的Delta表。

已知的問題

  • 鑄造長整型數字到不可澆注類型,如日期,例如' yyyy '格式的日期,可能會觸發錯誤。