大家好歡迎回來大數據捷運線今天會來跟大家聊一下我們上面有一個服務叫做Azure Data Lake這個服務我相信現在很多的客戶都在做很多big data的一些情境比如說像IoT或是說可能會去分析外部很多的data爬進來的這些資料可能你有大量的資料而且你是非預期這種資料量的部分然後你也不知道拿來幹什麼但是你可能會需要做很多的trial

run或者是說你可能有一些job是偶爾才會發生但是它卻是需要大量的resource所以你可能要花很多的硬件資源去為了這個需求我現在介紹的是一個serverless一個概念的服務它就是在你需要去submit這個job的時候它才會去後端的整個big data cluster裏面去建立所需要的一個resource所以它在處理完這個job之後它就會把它刪除其實serverless的概念對於這種偶爾然後需要大量resource這樣的情境是非常適合的所以今天就會來跟大家談一下Azure Data

Lake不知道大家記不記得我們第1堂課其實我們有一個架構圖這個架構其實包含了很多我們在Azure上面可以去處理data比較大部分客戶在使用的這些服務今天我們來介紹的是在中間這個部分在處理大量非結構化性的這個情境裏面這個紅色框框這個Azure Data LakeAzure Data

Lake最標準的整個服務裏面其實包含了2個服務第1個叫做Azure Data Lake Storage然後在來Analytics這個部分就是分析層的這個部分你可能會看到說為什麼又突然又多一個HDInsight其實它是我們Azure上面的Hadoop的一個PaaS的服務不過今天我們不會去談到它不過它放在這邊主要是希望讓大家知道其實Azure

Data Lake Storage跟Analytics這一塊其實是可以分開的所以Data Lake

Storage它可以拿來儲存各種的data然後它可以for各種服務去做使用比如說上面談到的HDInsight而不是只是為了這個ADLA這個服務去使用它所以我們今天會focus在Storage跟Analytics ADLA這一塊什麼是Azure Data Lake

Storage跟我們一般在Azure上面的Blob Storage有什麼差異呢其實我們的概念是為了for這種大量分析資料去儲存它的因為像Blob Storage可能它常常的拿來使用比如放一些Application的一些file或是檔案或是圖片或是說你可能要拿來做備份把它上傳到Blob Storage讓它去幫你做長久的這種儲存Azure

Data Lake Store比較像是在做大量資料分析比如說我們可能要做一個big data的這種分析把它做分散式的運算所以它有幾個點是等一下我會談到為什麼要選擇它所以我們今天把這些IoT大量資料放在Azure

Data Lake Store之後我們可以利用Azure上面的各種的服務比如說大家現在看到的甚至我等下會提到ADLA然後或HDInsight或是R/Python或是說我們的Spark或是Azure的上面的各種的Machine Learning或是AI的服務其實我們都可以直接去拿到這些Azure

Data Lake Store上面的資料再去做分析我們為什麼會選擇Azure Data

雲平台提供雲端服務公司,其高效及高可用性的雲端運算解決方案SmartCLOUD™ Compute。

Lake Store跟Blob Storage有甚麼不一樣呢這邊我簡單的整理了4點第1點其實它沒有空間限制像Blob Storage它其實算空間可以儲存很大但是它還是會有空間的限制我們Azure

Data Lake的default它是不會有空間限制的所以你可以無止境的去存放你所需要存放的資料而不用去管理上面的容量大小再來另外一個它特別的是後端的這個IOPS是相較於Blob Storage在更快的因為它為了因應你這種大資料的處理它IOPS必須要快要不然其實你可能還是會很多的bottleneck還是會卡在所謂的Storage這樣的IOPS上面另外的是很重要安全性我們的Azure Data

Lake Store它可以跟我們的Azure AD去做整合所以你的裏面的每一個folder裏面可以去create你要的folder很像file system這樣的一個概念每一個folder、每一個檔案其實都可以去設定你所需要的權限控管比如說Justin的帳號它可以拿來做read或者是說Justin的帳號可以包含執行或是read這樣的一個權限你可以去做這樣的一個授予的部分另外一個是它很容易做一個整合因為其實剛才講到它是一個file

system的概念Blob Storage它是namespace的一個概念所以其實會有一點稍微的不同所以我們大概在做比如說像以前你們可能有做過hiveHadoop的hive那可能它就會去指定一個路徑這路徑其實就很像file system所以我們的Azure Data

Lake Store對於這種分析的這種情境來講它在路徑的跟應用程式的整合上面會比較的好整合而且比較好管理的部分什麼是Azure Data Lake

Analytics其實它背後其實它是build on在YARN上面YARN其實是Hadoop的一個統一的一個框架我們後面其實是container所以它能夠更快的去調整你所需要的一個資源所以我剛才說serverless當你今天submit這個job在這個ADLA之後它就會在後面及時的幫你去大量的create你所需要的resource並且去處理你所需要的這樣的一個資料所以它相對來講create完成之後就刪掉所以它的成本會相對非常的低它的計算的方式、計價的方式它就是by the query這樣的一個計價而不是說今天你create了多個node之後你就要付這樣node的一個錢或是說你可能要從create到最後執行完成然後甚至到刪掉這過程中其實你可能都要付費但是在ADLA這塊它只有在query的那個當下它才會計價所以相對來講如果你是需求不是這麼的頻率這麼高的話其實這個計價方式對於你們在作big

data相對是非常的實惠的然後再來是安全性它一樣還可以跟Azure AD去做整合所以你可以去做各種的權限的一個授予所以相對你在執行job這件事情或是說你在管理在上面其實相對會比較安全一點ADLA它另外一個在另外一個好處其實它是可以去query我們其它在Azure上面的服務比如說Azure Data Warehouse或是上面講的DB或是Data

Lake Store然後或是我們Blob都可以去做query的動作所以你在一個big data的這樣的一個job裏面可以同時包含各種的一個資料來源所以不用說今天你必須要把Data Warehouse上面的資料export到Data

Lake上面才去做處理不用你只要原本的資料放在那邊你可以直接在你的等下我們會談到它是一個U-SQL的一個概念它是我們微軟特別弄出來的但是它是LIKE SQL的一個概念去實做所以它其實相對來講對IT其實還滿friendly所以我們上面可以query各種的一個data在內的一個同時一個job裏面去做這樣的一個事情可能就有人問我現在有HDInsight或是說我有Databricks或是說我有ADLA我到底要選哪一種呢其實我大概都跟客戶在談就是假如說今天你已經非常熟悉所謂的open source的Spark或是說Databricks或是Hadoop這樣一個架構甚至你都會自己寫一些Java去寫一些job這個部分的話我是建議資料量你一樣可以儲存在Data Lake

Store去因應這個高性能IO的部分另外你就是透過HDInsight或是Databricks去寫這樣的批次的job就可以了不用特別除非你想要去學所謂的等下會談到的U-SQL如果你對於Spark這些這樣的一個open source的framework也不是那麼熟悉但是你開始要做這樣big data的一個分析的時候我建議你就可以開始直接先選擇ADLA去學習它因為相對你的學習曲線會比較好因為我剛才講的它就是從LIKE SQL這樣的概念起家的然後甚至它是跟C#整合它的宣告方式非常類似所以你在學習上面會非常非常簡單所以我建議如果你對於open

source這樣的framework並不是那麼熟悉的話我建議你可以先從Azure Data Lake的Analytics這個部分去做學習這時候你就可以開始做一些big data的分析我們來看一下U-SQL的這個U-SQL的這個這是簡單的一個範例sample的code等一下會實際demo給各位看它大概長什麼樣子第1個你會看到可能有寫過C#奇怪它的這個宣告方式還滿像非常類似所以我們的這個U-SQL簡單來講你就可以把它想成是C#加上SQL語法的一個整合所以你會看到上面一樣會有SELECT

FROM WHERE這樣的條件在裏面我們這個U-SQL還可以整合是R/Python甚至我們還可以去整合我們現在AI的一個服務叫做cophenetic的一個服務在上面當我們去submit這個job的時候我們這個服務裏面有一個好處是它會把整個流程還有整個的一個資料的flow都告訴你它長什麼樣子所以你可以很清楚的去做第1個troubleshooting第2你可以去做monitor在甚至去做管理甚至你可以知道說接下來你可能因為它後面的resource叫做au為1個單位au越高你的這個resourc就會越多所以你的運算的能力會越強可是有時候你的au越高可能你的用不到因為你的資料量可能還有或是你的邏輯可能沒那麼複雜你的au可能就是可能需要調小但是你可能不知道等一下我們這個tool會告訴你說你可能會用多少au才適合這樣子所以當你寫完U-SQL之後它後面有個compiler變成一個flow的一個概念然後它才會去後端這一個cluster這個big data cluster去create它所需要的一個resource所以它的流程大概是先寫完你的code之後它開始compiler把它變成一個所謂的也有點像是execution

plan然後變成一個可以執行的一個flow之後它再去後面要它所需要的資料而不是一開始就lock了大量的硬件的resource在後面所以這個是serverless一個滿好的一個概念所以當你比如說今天去執行R跟Python去做ML的就是Machine Learning這樣的一個分析的時候你可以直接把直接去assembly把它放到你的這個U-SQL裏面去呼叫它然後最後它真的就會把你的這個code跟資料分散到多個cluster後面這個node去做分析所以它是一個分散式的一個概念所以它在做big data相對會比較適合效能會比較好一點 OK我們來看一下Azure

Data Lake Analytics一個demo的部分我上面的這個情境會是上面可能會有擺一些資料這個資料我會透過ADLA去做分析然後裏面會包含Cognitive這個服務去做一些影像辨識比如說OCR或者是這個上面圖片的這樣的一個辨識或者是我可能上面會有一些sample是Python怎麼去呼叫它的部分可能會上面看到一個叫U-SQL Catalog其實它有點像是hive的一個概念它就是上面有一個邏輯的database這個database它一樣有table、有flew這樣的概念可以讓你有點像是你透過處裏非結構化性的資料但是它的呈現方式是用結構化性的像table這樣的形式出現等下我們demo會看到我們來看一下這個畫面其實這個是一個Visual

Studio的一個開發介面一樣我們基本上我們上面所有的開發都是可以用Visual Studio去做開發大家可以看到當我們去連接Azure的時候上面有個Data Lake Analytics部分你上面會有一個database這個database其實是邏輯的

是邏輯性的所以它的資料所有資料就是data file全部都是儲存在Data Lake Store裏面所以它並不是真的像我們以前的資料庫那樣子可能有所謂的MDF或是log

LDF這樣的概念放在後面它是真的這種非結構化性的資料並不是這種結構化性的所以我們在一般的這個create它會有個master這個master我們default會提供你就是assemblies這裏有Python或是R或是你可以去call我們的Cognitive上面的一些服務比如說image就是face因為我們可以去偵測你的年紀或是你的emotion就是你的情緒的部分或是你上面有多少個人等一下我們會簡單的展示給各位看上面你也可以去create你自己所要的database然後以及你的table的部分所以我們在上面我們就透過你可以看到上面有點類似SQL語法去create你要的database或是table但是它本身的資料都是儲存用非結構化性資料去儲存在你的Data Lake Store裏面只是我們把它定義成結構化性的table所以方便你在做query或是說方便你再做處理的時候去呼叫它這樣其實對開發來講會比較方便一點另外我們可以看一下怎麼去呼叫Python的部分我們上面我們去呼叫這個Python assemblies之後我們就可以去粹取你所需要資料先把它抓出來你需要的csv的這個檔案然後我們在這邊去把這個檔案匯進來然後去定義你要產出來的這個資料的長相會是長什麼樣子然後最後去using因為我這邊有寫一個簡單的Python

code我就透過這個Python code去處理這一份資料然後最後把這個資料output到我這個路徑上面所以你會看到他的宣告方式真的很像C#然後一樣也是透過滿多類似SQL的這樣的概念去做這樣的事情然後把它output到你所需要的一個地方我們現在目前在讀取的部分我們雖然可以讀很多資料來源 對沒錯但是我們不能寫到不能把資料寫到所謂的Data Warehouse或database而是只能寫到Data

Lake Store或是寫到Blob Storage這一塊所以我們都能夠讀但是我們在寫的部分我們主要都還是以Data Lake

Store為主這樣子我們來看一下我們怎麼去呼叫Cognitive的部分你會看到我這邊其實有把剛剛幾個Cognitive的這個assemblies把它匯進來匯進來之後我就可以去載入我需要的image這image全部都放在Data Lake Store然後可能有大量的照片這照片你可以拿來做什麼事你可以拿來做tagging就是拿來做tag的部分或是說face比如說你上面可能是人的長相這時候你可以把它去辨識裏面這個照片有多少人或者說這個是男生還是女生的部分你可以大量資料同時並行去做這Cognitive的一個運算所以相對效能其實還不錯的然後或我是我們可以去做OCR的部分所以你會看到其實宣告方式都非常類似就是都跟C#很類似然後後面你可以output到這個file我們直接看結果我們在執行過後你會看到這個是我們的一張圖片上面其實是簡單來講它就是一張剪報我們這個簡報我們如果用這個服務去做辨識的時候最後它會把我們把這個資料變成一個檔案放在我們Data Lake

Store然後它就會把上面的這個文字都把它辨識出來並且變成一個csv所以變csv之後其實你後續很簡單了你就把圖片變成文字了你就可以拿來做更多的分析在執行的過程中如果按執行之後其實你會看到這是實際的畫面我們中間會去做prepare就是prepare的意思是什麼就是開始去建立你所需要的服務開始去做compiler變成一個execution plan然後再去要後面的resource所以它前面會有一段小小的時間比如說1到2分鐘但是後面因為對於big data來講可能都是數小時去做這樣的一個大量資料分析所以1、2分鐘對你們來講應該是一個非常小的一個時間最後它在做執行之後finish它就直接把這個resource全部都把它砍掉所以它是回收所以你在計價的方式基本上它這種計價你的這個執行的一個過程你會看到我們的這個執行過程它都會把整個的flow都告訴你所以一開始你的圖片可能大量的放在這邊它就會透過你其它call的這個服務的這個分支點告訴你說哪個服務資金到哪邊比如說我這雖然已經執行好了我們還可以去作replay就是你可以去看到說它大概執行的過程跟它的執行的時間大概是多少所以你可以去做很簡單troubleshooting然後再來是你可以去做很多的管理說疑你這個流程到底是對不對的所以是你可以再去做資料追蹤所以其實這個服務的這個後面這些服務是可以做滿多事情的管理、monitor或是做troubleshooting其實都可以我們其實剛才看我們剛才少講一個東西上面其實有一個au這個au其實是可以做調整的au越高其實你的capacity越高當然因為我這個開沒有很大所以目前只有32你可以去做調整你可以調1、可以調32到底調多少是比較適合呢我們這邊會有一個分析它會告訴你說你現在目前你開的是32但是目前你的這個job執行的過程中他用了多少au所以你會看到我其實並沒有妥善的去運用它因為可能很多是空閒的所以你在下一次執行它的時候maybe你就可以調成20這樣去調整你的resource這樣你的價格其實就會更低一點因為你au越高 時間越高、時間越長你的這個價錢其實相對就會再高一點所以你可以再去透過這個monitor去知道說你大概調整哪一個au你的執行時間然後你的價格會是最優惠的所以它只會算你這個部分的這個費用然後最後它會有一些分析的過程像這邊就告訴你說你可能有7個au是over-allocated這個部分所以你可以後面再去做這樣的一個調整所以這個是我們大概Azure

Data Analytics這一個demo我們這一次的這個課程都到這邊 謝謝各位

如何在Google試算表中驗證資料以及怎麼利用這個功能建立下拉選單?

哈囉大家好 這裏是田中系統今天要教大家怎麼在Google試算表當中來驗證資料以及怎麼利用這個功能來建立我們的下拉選單那現在馬上就來告訴大家要怎麼做首先我們先把想要驗證資料的地方全部選起來例如說我想要把B這一行來做驗證資料那我可以點一下右鍵然...


我們與AI的距離Part I:鑑往知來AI發展之旅

大家好我是研華科技何春盛歡迎各位再來到Inno-Talks今天非常高興能夠邀請到我個人的偶像台科大的盧教授談到盧教授我覺得他不僅是一個教授他也是一個作者 寫書他也是一個非常優秀的演講家他可以講是台灣第一個教AI這門課的教授我們今天想要圍繞在...


來自於 80/20 法則的神奇圖表有著怎樣的神奇?

哈囉,大家好相信許多人都曾聽說過所謂的 80/20 法則它是由 19 世紀一個叫做帕累托的經濟學者所提出而這個法則的概要是指這個世界的原因和結果付出和收穫之間普遍存在着不平衡的關係譬如一家公司 80% 的利潤可能只是由 20% 的顧客所貢獻...