開始使用Azure Synapse Analytics做為資料平台

Edward Kuo
Dec 29, 2020 · 6 min read
Image for post
Image for post

Azure Synapse 是Azure針對大型資料分析的一個新的服務。那個其他服務有甚麼不同,主要在於這項服務可以一次性針對各種不同類型資料進行分析。而這次想讓我會去嘗試原因在於如果我每次蒐集的資料都放在Blob,但是Blob本身並無一個好的工具可以讓我查詢Blob File內的檔案資料,變成每次要查詢Blob File內的資料都必須要下載檔案,然後去查看資料內容,這是相當費時又耗人力。如果,Azure Synapse Analytics能解決這部分或許是一個不錯選項,當然,Azure Synapse Analytics功能不只這些。可以先來看看Azure Synapse Analytics本身架構如何

一般可能認為Azure Synapse是原本Azure Data Warehoue的改名或是加強版,不過,Azure Synapse也加強了分析Big Data能力

Image for post
Image for post

它從原本的一般Data Warehoue多樣性功能,整合為一

Image for post
Image for post

用Azure Synapse都包含上述所有服務在內了

Image for post
Image for post

個人認為這因該可以算是一個資料平台了,畢竟,它把之前需要用到資料分析引擎都整合進來,至於,要使用那個資料分析引擎,就必須依照資料類型或是情境來做選擇,個人認為,還是要取決最適合的引擎來用,畢竟這些價格都不斐,沒有弄好情境或是需求,錢就會像水一樣流掉

Image for post
Image for post

此外,最好地方是它基本都支援SQL引擎,這樣好處在於對於習慣T-SQL的開發人員就不需要再額外學習其他語言。至於這樣是好是壞,就看個人需求囉

建立Azure Synapse

首先,要到[訂用帳戶]選擇[資源提供者],裡面去找尋Azure Synapse,如果是呈現NoRegistered,就必須去註冊。不過,按下註冊並非馬上就會註冊成功,有可能需要等一陣子,就我經驗,我大概等了半天,有時候剛好時機是很多人正在啟用或是服務繁忙,就會比較慢

Image for post
Image for post

當這個服務註冊好後,就可以在Marketplace找到Azure Synapse,這時候就可以建立Azure Synapse

Image for post
Image for post

從前面的架構圖可以知道,Azure Synapse背後會使用到Data Lake Storage Gen2做為基底,所以,我們在建立Azure Synapse必須要先建立好Data Lake Storage Gen2,所以,如果沒有預先建立,除了可以在建立Azure Synapse時候一起建立,不然就是先建立好Data Lake Storage Gen2,到時候套用進去。

所以,在Azure Synapse設定Data Lake Storage Gen2,這邊可以選用帳戶底下或是URL進行設定,我這邊是透過URL方式做設定

Image for post
Image for post

會透過URL方式設定主要原因是因為在檔案系統名稱設定那邊,如果用帳號匯入,檔案系統 這邊就必須要強制建立,但是用URL時候,就可以自己先輸入一組帳號,那檔案系統 是甚麼?就是當我們建立好Data Lake Storage Gen2,Azure Synapse會把一些中繼資料儲存到Data Lake Storage Gen2內的容器裡面,這時候替容器裡面見一個資料夾給Azure Synapse使用的概念,如下圖,當你把檔案系統 那邊設定為User,就會在Data Lake Storage Gen2內建立一個叫做User的資料夾

Image for post
Image for post

在Synapse可以有三種對於資料庫,共有三種集區可以設定

  • 專用 SQL 集區
  • 無伺服器 Apache Spark 集區
  • 無伺服器 SQL 集區 : 其中這個集區是預設的,一開始建立就會有的

所以,當你建好之後,也會自動建立一個SQL Database,而這個DB它預設就是採用無伺服器 SQL 集區方式。

Image for post
Image for post

當這些都建立好時候,就可以用SSMS來連線看看。至於連線字串呢?可以到Synapse工作區的資訊內找到無伺服器SQL端點的連線資訊,然後,進而連線

Image for post
Image for post

因為是SQL的引擎,所以,當SSMS連線時候也會出現需要設定防火牆資訊才可以連入,而所需要的帳號密碼就是建立Azure Synapse時候會要設定一組帳號密碼,就是用那組資訊作為連線資訊

Image for post
Image for post

到這邊基本是就是設定完成,下一篇將會是透過此機制去獲取其他資料源的資訊。如果預設用無伺服器 SQL 集區,個人認為價格還算可以,但是如果用到專用SQL集區,那樣價格就很恐怖了

參考資料

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Edward Kuo

Written by

Enterprise IT Manager / Microsoft Regional Director / Microsoft MVP / DevOps Expert / Speaker, About me: https://profile.edwardkuo.dev/about/

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Edward Kuo

Written by

Enterprise IT Manager / Microsoft Regional Director / Microsoft MVP / DevOps Expert / Speaker, About me: https://profile.edwardkuo.dev/about/

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store