Snowflake 作為雲端資料倉函式庫解決方案,其易用性和可擴充套件性備受關注。對於剛接觸 Snowflake 的開發者來說,建立一個範例資料函式庫並熟悉其操作流程至關重要。同時,成本控管也是在雲端環境中必須考量的因素。本文將逐步引導讀者在 Snowflake 中建立範例資料函式庫,並分享一些降低成本的實用技巧。首先,你需要註冊一個 Snowflake 帳戶。透過 Snowflake 的官方網站,你可以輕鬆地完成註冊流程。在選擇服務方案時,Standard 版本足以應付初期的學習和測試需求。同時,選擇鄰近的雲端節點可以降低網路延遲,提升使用體驗。完成註冊後,你就可以開始建立範例資料函式庫了。在 Snowflake 的 Web 介面 Snowsight 中,工作表是與資料函式庫互動的主要場所。建議建立一個專門用於學習 Snowflake 的工作表,例如命名為 “Learning_Snowflake_SQL”,以便於管理和區分不同的工作任務。在工作表中,你可以使用 SQL 陳述式來建立資料函式庫。例如,使用 create database learning_sql
命令即可建立一個名為 “learning_sql” 的資料函式庫。預設情況下,系統會自動建立一個名為 “Public” 的結構描述(Schema),用於存放資料函式庫表。在 Snowflake 中,計算資源是由虛擬倉函式庫提供的。選擇適當大小的虛擬倉函式庫對於成本控管至關重要。對於學習和測試用途,X-Small 倉函式庫通常就足夠了。此外,設定合理的自動暫停時間也能有效降低成本。建議將自動暫停時間設定為 3 到 4 分鐘,以避免虛擬倉函式庫在閒置時持續計費。
深入理解SQL與Snowflake Scripting:資料操作的雙引擎
SQL(結構化查詢語言)是與資料函式庫互動的根本,而Snowflake Scripting則為資料處理注入了程式化的靈活性。玄貓將帶領大家探索這兩種技術,理解它們如何共同驅動現代資料應用。
SQL:非程式式資料操作的藝術
SQL 是一種非程式式語言,這意味著你只需描述「做什麼」,而無需指定「如何做」。例如,要找出每個地區銷售額最高的十個客戶,你只需編寫一個 SQL 查詢來計算每個客戶的銷售總額。至於如何從資料函式庫中檢索這些資料,則由資料函式庫伺服器自行決定。
這種設計的優點在於,資料函式庫伺服器可以根據自身的最佳化演算法,選擇最有效率的資料檢索方式。不同的資料函式庫伺服器可能會有不同的執行策略,但最終都會產生相同的結果。
玄貓在為某金融科技公司設計分散式系統時,我發現 SQL 的這種特性極大地簡化了開發流程。開發人員只需關注業務邏輯,而無需深入瞭解底層的資料檢索細節。
Snowflake Scripting:為SQL注入程式化能力
儘管 SQL 功能強大,但它缺乏程式化語言中常見的控制結構,例如迴圈、條件判斷和例外處理。為了彌補這一不足,Snowflake 提供了 Snowflake Scripting 語言。
Snowflake Scripting 是一種程式式語言,它允許你宣告變數、使用迴圈和條件陳述式,以及檢測和處理異常。你可以將 SQL 資料陳述式(例如 SELECT 和 INSERT)與這些程式式結構結合使用,從而實作更複雜的資料處理邏輯。
例如,你可以使用 Snowflake Scripting 編寫一個程式,該程式會迴圈處理一個資料集,並根據不同的條件執行不同的 SQL 陳述式。這在處理複雜的資料轉換或 ETL(提取、轉換、載入)流程時非常有用。
Snowflake Scripting 的關鍵特性
- 變數宣告: 允許你宣告變數來儲存中間結果或組態引數。
- 控制結構: 支援迴圈(例如 FOR 和 WHILE)和條件陳述式(例如 IF-THEN-ELSE)。
- 例外處理: 允許你檢測和處理 SQL 陳述式執行過程中可能發生的異常。
建立你的Snowflake帳戶
Snowflake 的魅力之一在於其易用性。作為 SaaS 解決方案,你無需在本地安裝任何東西。所有互動都透過你選擇的標準瀏覽器進行。以下是建立你自己的帳戶所需的步驟:
- 前往 www.snowflake.com,然後點選頁面右上角的 START FOR FREE 按鈕。
- 輸入你的名字、姓氏、電子郵件、公司名稱、職位和國家。點選 CONTINUE。
- 選擇 Standard 版本,然後選擇三個雲端供應商之一。將出現一個下拉選單,允許你選擇最近的雲端節點。選取方塊以同意條款和條件,然後點選 GET STARTED。
- 將會傳送一封電子郵件,要求你啟動帳戶。點選電子郵件中的 CLICK TO ACTIVATE。
- 一個標籤頁將在你的瀏覽器中開啟,要求你選擇使用者名稱和密碼。選擇後,系統會要求你登入。
- 你的帳戶頁面將會出現在你的瀏覽器中。
設定範例資料函式庫
無論你選擇哪種選項來建立你的範例資料函式庫表,你都需要先做一些事情。
建立工作表
在 Snowsight 中,工作表是你與資料函式庫互動的地方。你可以為不同的目的建立不同的工作表,因此讓我們建立一個名為 Learning_Snowflake_SQL 的工作表。為此,請點選左側選單中的 Worksheets,然後點選右上角的 "+" 按鈕並選擇 SQL Worksheet。一個新的工作表標籤頁將會出現,並且將根據目前的日期/時間給定一個預設名稱。你可以點選工作表名稱旁邊的選單並選擇 Rename,此時你可以將其命名為 LEARNING_SNOWFLAKE_SQL。
你可以使用此工作表來執行你的 SQL 命令,從下一節中的 create database 陳述式開始。
建立你的資料函式庫
現在你有一個工作表,你可以開始輸入命令。第一個任務是建立你的範例資料函式庫,
在你的工作表中輸入 create database learning_sql 後,點選 Run 按鈕(右上角帶有藍色背景的白色箭頭)以執行你的命令。你的資料函式庫將會被建立,並且預設情況下將會建立一個名為 Public 的結構描述。這是將建立你的範例資料函式庫表的位置。
降低成本的技巧
Snowflake 提供了 30 天的免費試用期,之後你需要提供信用卡才能繼續使用。為了避免不必要的費用,玄貓建議你採取以下措施:
- 選擇適當的虛擬倉函式庫大小: 在 Snowflake 中,與你的會話關聯的計算資源集稱為虛擬倉函式庫。你可以選擇從非常小的倉函式庫(X-Small)到 4X-Large 倉函式庫的任何大小。在使用本章中的範例資料函式庫時,請確保選擇 X-Small 倉函式庫。
- 縮短自動暫停時間: 在一段可組態的不活動時間後,你的倉函式庫將會關閉。預設設定為 10 分鐘,但你可以將其縮短到 1 分鐘。玄貓建議將其設定為 3 到 4 分鐘。