取消
顯示的結果
而不是尋找
你的意思是:

有沒有辦法自動表創建基於ADLS磚SQL的存儲位置中包含多個拚花文件嗎?

vasanthvk
新的貢獻者三世

我們ADLS容器位置包含幾個(100 +)不同的數據對象文件夾包含鋪文件分區列和我們想要公開的每個數據主題文件夾在磚SQL表。有什麼方法可以自動創建這些表嗎?

abfss: / /(電子郵件保護)/ sc /生/ DataSubject1 /

abfss: / /(電子郵件保護)/ sc /生/ DataSubject2 /

abfss: / /(電子郵件保護)/ sc /生/ DataSubject3 /

abfss: / /(電子郵件保護)/ sc /生/ DataSubject4 /

....

abfss: / /(電子郵件保護)/ sc /生/ DataSubject100 /

我想自動創建表DataSubject1 DataSubject2 DataSubject3…DataSubject100在磚SQL數據庫(sqlanalytics_db)。

1接受解決方案

接受的解決方案

dazfuller
貢獻者三世

所以這樣做的方法之一是簡單的遍曆目錄,創建一個表。假設的模式是相同的所有文件你可以簡單的做一些類似

主題= dbutils.fs.ls (“abfss: / /(電子郵件保護)/ sc /原始”)的主題主題:table_name = subject.name.strip(“/”)火花。sql (f“創建表如果不存在“{table_name}”使用鑲花位置{subject.path}”)

在原帖子查看解決方案

7回複7

BilalAslamDbrx
尊敬的貢獻者二世
尊敬的貢獻者二世

@Vasanth Kumar你有新數據到達這些地方嗎?如果你沒有新的數據到達,您可以簡單地複製到命令,指向的位置。例子:

創建表DataSubject1;複製到DataSubject1 abfss: / /(電子郵件保護)/ sc /生/ DataSubject1 ' FILEFORMAT =鋪FORMAT_OPTIONS (“inferSchema”=“真實”,“mergeSchema”= true”);

現在,您可以運行這個命令一個存儲路徑,您現在可以模板運行許多存儲路徑。可能最簡單的方法是使用Python變量替換生成SQL作為字符串和對集群運行它。

PS:別忘了設置創建的表的主人,否則你不會看到他們在磚SQL(管理員可以看到所有新創建的表)

vasanthvk
新的貢獻者三世

謝謝你的指導,回答你的問題是的新數據將位置。

BilalAslamDbrx
尊敬的貢獻者二世
尊敬的貢獻者二世

@Vasanth Kumar澄清我最初的回答:你需要提供模式CREATE TABLE語句,它不工作(在某些邊界情況除外)沒有一個模式。

你有新的數據傳入的改變。如果你的數據到一個目錄,這將是超級簡單使用磚自動加載程序加載它。你隻是自動加載器指向一個沛富路徑和它不斷加載數據(通過直接文件清單,或通過雲隊列)。

讓我深入這一場景變得更加,回到你的身邊……

dazfuller
貢獻者三世

所以這樣做的方法之一是簡單的遍曆目錄,創建一個表。假設的模式是相同的所有文件你可以簡單的做一些類似

主題= dbutils.fs.ls (“abfss: / /(電子郵件保護)/ sc /原始”)的主題主題:table_name = subject.name.strip(“/”)火花。sql (f“創建表如果不存在“{table_name}”使用鑲花位置{subject.path}”)

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map