使用檔案上傳建立或修改數據表
使用檔案上傳 頁面建立或修改數據表,可讓您上傳 CSV、TSV 或 JSON、Avro、Parquet 或文本檔,以建立或覆寫受控 Delta Lake 數據表。
您可以在 Unity Catalog 或 Hive Metastore 中建立受控的 Delta 資料表。
重要
- 您必須能夠存取執行中的計算資源和許可權,才能在目標架構中建立數據表。
- 工作區管理員可以 使用檔案上傳頁面停用建立或修改數據表。
您可以使用 UI 從本機電腦匯入小型 CSV、TSV、JSON、Avro、Parquet 或文字檔來建立 Delta 數據表。
- 使用檔案上傳 頁面建立或修改數據表支援一次上傳最多 10 個檔案。
- 上傳的檔案大小總計必須低於 2 GB。
- 檔案必須是 CSV、TSV、JSON、Avro、Parquet 或文本檔,且擴展名為 “.csv”、“.tsv” (或 “.tab”、“.json”、“.avro”、“.parquet” 或 “.txt”。
- 不支援壓縮檔案,例如
zip
和tar
檔案。
上傳檔案
- 按兩下 [新增>數據]。
- 點選 「建立或修改資料表」。
- 按兩下檔案瀏覽器按鈕,或直接將檔案拖放到放置區域。
注意
匯入的檔案會上傳至您帳戶內的安全內部位置,每日會進行垃圾收集。
預覽、設定及建立數據表
您可以將數據上傳至暫存區域,而不需要連線到計算資源,但您必須選取作用中的計算資源來預覽及設定數據表。
當您設定上傳數據表的選項時,您可以預覽 50 個資料列。 按兩下檔案名底下的方格或清單按鈕,以切換資料的呈現方式。
Azure Databricks 會將受控數據表的數據檔儲存在針對包含架構所設定的位置。 您需要適當的許可權,才能在架構中建立數據表。
執行下列動作,選取要在其中建立數據表的所需架構:
- 僅適用於已啟用 Unity Catalog 的工作區,您可以選擇 Unity Catalog 或傳統目錄
hive_metastore
。 - 選取架構。
- (選擇性)編輯數據表名稱。
注意
您可以使用下拉式清單選取 [覆寫現有的數據表,或 建立新的資料表。 嘗試建立名稱衝突之新數據表的作業會顯示錯誤訊息。
若要建立表格,請在頁面底部按下 [建立]。
格式選項
格式選項取決於您上傳的檔案格式。 一般格式選項會出現在標頭列中,而在 [進階屬性] 對話框中則提供較不常用的選項。
- 針對 CSV,有下列選項可供使用:
- 第一列包含標頭 (預設為啟用):此選項會指定 CSV/TSV 檔案是否包含標頭。
- 數據行分隔符:數據行之間的分隔符。 僅允許單一字元,且不支援反斜線。 這預設為 CSV 檔案的逗號。
-
自動偵測資料行類型(預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行類型都會推斷為
STRING
。 - 數據列跨越多行(預設為停用):數據行的值是否可以跨越檔案中的多行。
- 將架構合併至多個檔案:是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 如果停用,則會使用一個檔案中的架構。
- 針對 JSON,有下列選項可供使用:
-
自動偵測資料行類型(預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行類型都會推斷為
STRING
。 - 資料列跨越多行(預設啟用):數據行的值是否可以跨越檔案中的多行。
- 允許批注 (預設為啟用):檔案中是否允許批注。
- 允許單引號 (預設為啟用):檔案中是否允許單引號。
-
推斷時間戳 (預設為啟用):是否嘗試將時間戳字串推斷為
TimestampType
。
-
自動偵測資料行類型(預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行類型都會推斷為
- 針對 JSON,有下列選項可供使用:
-
自動偵測資料行類型(預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行類型都會推斷為
STRING
。 - 數據列跨越多行(預設為停用):數據行的值是否可以跨越檔案中的多行。
- 允許批注 檔案中是否允許批注。
- 允許單引號:檔案中是否允許單引號。
-
推斷時間戳:是否嘗試將時間戳字串推斷為
TimestampType
。
-
自動偵測資料行類型(預設啟用):自動從檔案內容偵測數據行類型。 您可以在預覽資料表中編輯類型。 如果此值設定為 false,則所有資料行類型都會推斷為
當您編輯格式選項時,數據預覽會自動更新。
注意
當您上傳多個檔案時,適用下列規則:
- 標頭設定適用於所有檔案。 請確定標頭一致不存在或存在於所有上傳的檔案中,以避免數據遺失。
- 上傳的檔案會通過將所有數據附加為目標數據表中的列來合併。 不支援在檔案上傳期間加入或合併記錄。
欄名稱和類型
您可以編輯資料列名稱和類型。
若要編輯類型,請按兩下具有類型的圖示。
注意
您無法編輯或
STRUCT
的ARRAY
巢狀類型。若要編輯資料行名稱,請按兩下資料行頂端的輸入方塊。
數據行名稱不支援逗號、反斜杠或 Unicode 字元(例如 emojis)。
根據預設,CSV 和 JSON 檔案的欄位數據類型會被推斷。 您可以停用 STRING
>,將所有數據行解譯為 類型。
注意
- 結構推斷會盡力偵測欄位類型。 如果無法正確將值轉換成目標數據類型,變更數據行類型可能會導致某些值轉換成
NULL
。 不支援將BIGINT
轉換成DATE
或TIMESTAMP
欄位。 Databricks 建議您先建立數據表,然後再使用 SQL 函式轉換這些數據行。 - 為了支援具有特殊字元的資料表欄位名稱,建立或修改數據表時,在使用檔案上傳 頁面上將利用欄位映射功能 。
- 若要將批註新增至數據行,請建立數據表,並流覽至 [目錄總管 ],您可以在其中新增批注。
支援的數據類型
使用檔案上傳 頁面建立或修改數據表支援下列數據類型。 如需有關個別資料類型的詳細資訊,請參閱 SQL 資料類型。
資料類型 | 描述 |
---|---|
BIGINT |
8 位元組帶正負號的整數。 |
BOOLEAN |
布林值 (true ,false )。 |
DATE |
值,包含欄位年、月和日的值,不含時區。 |
DOUBLE |
8 位元組雙精確度浮點數。 |
STRING |
字元字串值。 |
TIMESTAMP |
值,包含欄位 year、month、day、hour、minute 和 second 的值,以及會話本地時區。 |
STRUCT |
具有由欄位序列所描述的結構的值。 |
ARRAY |
由一個類型的元素組成的序列的值elementType . |
DECIMAL(P,S) |
具有最大精確度 P 和固定位元數 S 的數位。 |
已知問題
轉換成 BIGINT
不可轉換的類型 DATE
,例如格式為 『yyyy』 的日期,可能會觸發錯誤。