想潛水/更深層次的解釋不同。當我寫一個表下麵的代碼:
spark_df.write.mode(“覆蓋”).saveAsTable (“db.table”)
創建表,可以在數據選項卡。它還可以發現在一些DBFS路徑。現在如果我運行:
dbutils.fs.rm (“{}”.format (dbfs_path),遞歸= True)
dbfs_path哪裏DBFS通路到表中,它將從DBFS刪除該表,然而它仍然是在Data選項卡(雖然我知道你不能調用內部的表了筆記本,因為技術上不再存在)。
如果我運行:
如果存在db.table % sql DROP TABLE
在一個細胞,它將從數據選項卡並表DBFS下降。有人能解釋一下(高度)的基礎設施是如何工作的?感謝。
表在火花中,δlake-backed或者不僅僅是語義上的實際數據視圖。
磚,數據本身存儲在DBFS,這是一個抽象層之上的實際存儲(比如S3, ADLS etct)。這可以拚花、獸人、csv、json等。
用rm命令你確實從DBFS刪除數據。然而,表定義仍然存在(這是存儲在一個metastore包含關於數據庫和表存在的元數據和數據所在)。
現在你有了一個空表。刪除表定義,你不得不放棄,就像你一樣。
完整性:三角洲湖無關。三角洲湖是鋪在類固醇給你更多的功能,但工作方式保持相同。
表在火花中,δlake-backed或者不僅僅是語義上的實際數據視圖。
磚,數據本身存儲在DBFS,這是一個抽象層之上的實際存儲(比如S3, ADLS etct)。這可以拚花、獸人、csv、json等。
用rm命令你確實從DBFS刪除數據。然而,表定義仍然存在(這是存儲在一個metastore包含關於數據庫和表存在的元數據和數據所在)。
現在你有了一個空表。刪除表定義,你不得不放棄,就像你一樣。
完整性:三角洲湖無關。三角洲湖是鋪在類固醇給你更多的功能,但工作方式保持相同。
嗨@Werner Stinckens,這正是我在尋找的。謝謝!
1)跟進的問題,你需要設置一個對象存儲連接數據磚(即水平。S3 bucket或Azure Blob) ?
2)中的任何文件夾/ mnt路徑是外部對象存儲(即S3、Blob存儲等等),對嗎?其他的都是存儲在數據磚根?我問,因為我組織在/ mnt文件夾中有兩個文件夾:/ mnt / aws & / mnt /δ……不確定指的是δ湖嗎?
3)所以三角洲湖和dbfs是彼此獨立的,對嗎?DBFS就是數據實際上是存儲(即如果我寫了一個表,然後鋪文件)。三角洲湖如何融入這個嗎?
非常感謝!