iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
AI & Data

dbt: 告別過時的SQL開發流程系列 第 13

DAY 13 - dbt Cloud 入門 (11) - dbt Cloud IDE 介面及功能介紹

  • 分享至 

  • xImage
  •  

雖然我們已經在 dbt Cloud 玩了好幾天,但今天才要正式介紹 Cloud IDE 的介面。


快捷鍵

一般

  • Ctrl + P: 開啟 Command Palette
  • Ctrl + O: 開啟檔案
  • Ctrl + N: 新增檔案
  • Ctrl + `: 展開下方 run history 區塊

在 Editor 中

  • Ctrl + Enter: 預覽資料
  • Ctrl + Shift + Enter: Compile model
  • Ctrl + F2: Change all occurances,先選擇要取代的目標,再按 Ctrl + F2 取代文字,完成後要按 Enter
  • tab: 縮排
  • Ctrl + tab: 取消縮排
  • Ctrl + /: 註解/取消註解
  • __:(兩個下底線) dbt function 列表。

Server Status

右下角的 Server Status。每次檔案儲存的時候,dbt Cloud server 就會重新 compile 並更新狀態。

應該要是綠色的 Ready 才正確。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575EyukGAFxYm.png

如果有錯誤的話,許多功能都無法運作,例如執行指令、compile、preview data、lineage graph。
https://ithelp.ithome.com.tw/upload/images/20230829/20159575g1QCgXzD8Y.png

建議隨時養成習慣檢查,尤其是執行指令或是 commit 之前,一有錯誤就建議優先處理。
點開 Server Status 可以檢查錯誤訊息。
https://ithelp.ithome.com.tw/upload/images/20230829/20159575Cg9dTRKpqz.png

右上角可以確認版本為 v1.6.0-latest。
如果要向官方回報錯誤的話,都需要提供版本號碼。

另外如果發生不可預期的錯誤,可以從此處點選 Restart IDE,所謂重開治百病。


Command & Run History

下方的區塊是執行指令的地方。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575KEA70RWxQH.png

一些很基本但或許還是有人不知道的小技巧:

  • 左邊列出了每次執行的指令還有結果。點擊的話該語法就會自動帶入指令列。
  • 按右邊 Re-Run 按鈕可以再跑一次。
  • 在打指令的地方按上下箭頭,可以切換到上一個執行過的指令。

右半邊可以看每個 model 的 log。
https://ithelp.ithome.com.tw/upload/images/20230924/201595752RS9KNoryG.png

切換到 Details 可以看更詳細。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575vx6kzbJzdW.png

除此之外也可以點開上方的 System Logs
https://ithelp.ithome.com.tw/upload/images/20230924/20159575eeI22zjjYV.png

Log 都可以下載到本機慢慢看。


Documentation

左上區塊書本的圖示,可以看開發環境的專案文件。
https://ithelp.ithome.com.tw/upload/images/20230829/20159575snfglgvnkz.png

文件不會自動更新,需要跑產出文件的指令,可以參考 在 DAY 09 的說明。


Git Integration

同樣在左上角的是版控區塊,按下 Commit and sync 就會將變更提交到目前的 branch,並 push to GitHub。

提交之前務必先檢查做了哪些變更,以下圖為例,可以看到

  • customers.sql 有修改 (M),點選之後,右邊就可以看到修改前後的比較。
  • day13.sql 為新增的檔案 (A)
  • schema.yml 為刪除 (D)

https://ithelp.ithome.com.tw/upload/images/20230924/20159575Le9HE0hDHd.png

右鍵點選檔案,或右邊的三個點,可以一次 Revert 或 Commit 單一檔案。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575xm0tBnJ0Pp.png

也可以按 Revert 可以一次復原所有檔案。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575mDkq6b0zHI.png

圖中可以看到我目前在 demo 這個 branch,如果點擊的話可以直接連到 GitHub。
如果點選 Create pull request 也同樣會連到 GitHub。
此外,如果目前的變更都 commit (or revert) 的話也可以點選 Change branch 切換分支。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575JIgmMfTlQb.png


Editor

就像一般的 SQL Editor,如果按下 Create New File,可以開一個 Untitled tab,隨意編輯、compile、查詢,不需要存檔。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575cWtQvCWRjl.png

Preview & Result Preview tab

按下 PreviewCtrl + Enter 就可以在 Result 頁籤預覽資料。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575iI8D4ar4zt.png

預設是 500 筆。如果需要更多筆數的話,可以下 limit,例如想看 1000 筆的話,就加上 limit 1000

select * from {{ ref('xxxx') }}
limit 1000

Compile & Compiled Code tab

按下 Compile 或是 Ctrl + Shift + Enter,可以到 Compiled Code 頁籤查看 compile 出來的語法。
所謂 complie 就是將 dbt Jinja SQL 翻譯成純 SQL 的意思,troubleshoot 的時候很有幫助。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575hS2VNLccWN.png

Lineage Graph tab

Lineage Graph 頁籤,可以看 model 的關係圖。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575BnTmCSYjHv.png

預設為 2+customers+2 也就是上下游各兩層,可以依需求自行修改。

例如 1+customers+1 就是上下游各一層。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575ceJD1ns8Ff.png

+customers+ 就是上下游所有 model。
https://ithelp.ithome.com.tw/upload/images/20230924/201595758uBx7Fvx5x.png

Build 按鈕

直接按下去就是 Build 該 model 本身。
如果想要連同上/下游一起 build,或是其他指令例如 run, test, 可以按旁邊的箭頭展開下拉選單。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575A2ePkIh7qQ.png

Format 或 Lint/Fix 按鈕

FormatLint/Fix 可以將語法自動排版。
個人習慣用自動排版,一來專案的排版風格會比較一致,二來是我懶得花時間手動改。
https://ithelp.ithome.com.tw/upload/images/20230924/20159575T1O52Z3beN.png


今日小結&明日預告

今天整理了基本的快捷鍵和 Cloud IDE 的功能,期待能幫助大家用得更順手。
如果看完這篇,了解了基礎,歡迎閱讀以下附上的官方文件,獲得更新更詳細的資訊。

這一版的 Cloud IDE 是大約一年的新產品,仍在快速進化中。
對功能有建議,或發生了不可預期的現象,也可以到 Slack 討論。

dbt Cloud 入門的功能及功能就介紹到今天為止。
告個段落,把目前為止的變更,merge to the main branch。

https://ithelp.ithome.com.tw/upload/images/20230928/20159575o8znV7rBDR.png

明天的主題:dbt Jinja,我們其實已經用到的奇怪雙大括號 {{...}} 語法。

參考資料


歡迎加入 dbt community
對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加


上一篇
DAY 12 - dbt Cloud 入門 (10) - dbt Commands 小整理
下一篇
DAY 14 - dbt 中階 (1) - dbt Jinja
系列文
dbt: 告別過時的SQL開發流程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言