開發者學堂課程【DataWorks 使用教程:Function Studio 介紹及使用指導】學習筆記,與課程緊密聯系,讓使用者快速學習知識。
課程位址:
https://developer.aliyun.com/learning/course/107/detail/1860Function Studio 介紹及使用指導
内容簡介:
1. Why Function Studio
2. Function Studio 功能介紹
3. Function Studio 使用案例
4. FAQ
1、Why Function Studio
為什麼要用到 IDE,去解決本地開發和繁瑣的配置的問題,
為了解決繁瑣 udf 的開發流程.
産品介紹
Function Studio 是一種基于雲的內建開發環境 (ⅣE),您隻需要一個浏覽器,即可編寫、運作和調試代碼。
它包括一個代碼編輯器、調試程式和終端。Funch Sludio 預封裝了适用于 Java、Python 程式設計語言的基本工具,您無需安裝檔案或配置開發計算機,即可開始新的項目。
Function Studio 基于雲,是以您可以從辦公室、家中或任何地方使用已連接配接Internet 的計算機完成項目。
借助 Function Studio,您可以與團隊快速共享開發環境,進而能夠将程式配對,并實時跟蹤彼此的輸入。
産品優勢:
免安裝,免環境配置,随處可用,多人協同編輯,一鍵送出。

2、Function Studio 功能介紹
工程管理:
一鍵工程建立,詳細模闆代碼,代碼托管存儲,自定義模闆工。
基于語言服務的編輯特性:
文法高亮,自動補全,文法錯誤将車,智能修複建議,智能關聯符号修改,符号定義符号引用查找,代碼片段生成,類/接口方法自動生成。
版本管理:
初始化&關聯遠端倉庫,Git 基本操作,分支建立&切換
線上調試:
開箱即用,無需安裝:豐富的斷點類型支援:豐富的操作類型支援,多調試場景支援,本地、遠端調試。
支援的斷點類型:
1. 行斷點,
2. 函數斷點,
3. 變量斷點,
4. 單步斷點;
支援的操作類型:
1. 進入函數,函數傳回,
2. 表達式計算
3. 斷點條件
4. 複雜對象的變量指派等;
支援的調試:
1. 急速啟動,資源按需配置設定不浪費,
2. 釋放本地資源占用,
3. Hotcode 熱部署;
多功能終端:
開發者也可以直接觸達運作環境,支援任意的 bash 指令,包括具有互動的指令例如vim 等。
協同編輯:
多人同一時間編輯同一工程同一檔案,同時支援 8 人線上協作,代碼 review (計劃中),聊天、視訊(計劃中)。
一鍵釋出&源碼溯源:UDF 編碼找不到了
支援開發:UDF , MapReduce, UDAF, UDTF.
三、Function Studio 使用案例
案例場景:開發一個 UDF 并注冊到 DataWorks
需求描述:輸入一個字元串,将這個字元串末尾加“TEST“,并将字元串中所有大寫字元轉化為小寫字母。
首先,需要建立一個工程工程名和描述同時選用相應的 UDF 的模闆,在這裡選用UDF.Java Project。
工程建立後打開目錄,src 下面是由平台生成的模闆示例,包括 UDF,MapReduce,UDAF,UDTF. 每個點選後可以看到相應的 udf 檔案和 udf test 的檔案
Wherehouse 下面是一些 mooc 資料存儲,我們根據需求建立一個檔案去實作 udf,建立之後會有生成模闆的代碼,自動會繼承 udf,我們作為開發者,隻要去實作invalue 的方法裡面的代碼;
debug 和熱部署:
可以通過智能代碼進行代碼修複,如果代碼有錯誤會在左邊目錄中出現錯誤的紅色辨別,為了在後期 debug 中能夠在控制台清晰的看到輸出,需要在語句中加入輸出語句将語句輸出來在寫測試類,在進行 debug 之前是要配置好,也要選擇一個main 函數的入口,選擇 test 入口,解壓和端口不用進行改動,第一次在使用 debug 時會慢,需要配置設定機器和啟動,但後續使用是會很快,程式運作起來後可以在控制台上看到變量資訊和資料發現已經輸出來了,也可以用滑鼠放到變量上來觀看變量的值。
按運作之後可以看到在輸出控制台上會把目前的變量的值列印出來;
代碼版本管理:
在進行代碼的資料管理,從遠處複制一個資料庫,再進行關聯,關聯 gate 之後,左側會有一個 gate 管理入口,在進行代碼修改之後可以在版本管理之後會顯示出來,可以對版本修改進行撤回、放棄、贊成,可以做出一個版本分支,建立好之後會在左下角看見,先把分支推送帶遠端,遠端的分支存在之後我們可以進行 init 的操作,在左側進行代碼的暫存,在進行 commit 成功之後,可以将代碼複制到遠端;
生成模闆:
使用者可以在菜單欄的模闆入口填入生成的模闆名稱描述,模闆建立之後可以在模闆管理中檢視,可以進行編輯管理和更新,在建立工程的時候就可以選擇模闆,在模闆基礎上生成代碼,生成的代碼符合預期後,可以将代碼送出到 DataWorks 開發環境,選擇一個目标的流程,
我們選擇寫 test 的 udf,函數名可以自定義,可以将代碼進行打包,打包到DataWorks 開發環境上去,這裡會傳回一個連結,複制連結到 udf 所屬函數的詳情頁面,在頁面上會有入口“前往 FunctionStudio 的編輯代碼”,點選之後直接跳轉到代碼,使用者可以修改變更在重新送出,打開 DataWorks 中測試 udf,在開發裡面建一個 sql,将 udf 換成剛剛新開發的 udf,儲存之後運作,運作之後符合預期,此次示範結束。
五、FAQ
問1:Function Studio 何時上公共雲?
答:Function Sudio 會在 12. 11 号對 DataWorksV2.0 使用者開放公測,本次隻上上海 region,上海 region 的新使用者可以直接使用。
老使用者還未更新到 Dava WorksV2.0 的,可以進入釘釘群【數加·DataWorls 交流D解】(群号為11718465)中請開通。
問2:Function Studio 的入口在哪裡?
答:Function Sudio 開放公測後。會在新版 Dara Works 的公共頭有一個入口,點選即可進入 FunctionStudio 體驗
問3:Function Studio 隻能 寫 UDF 嗎?
答:Function Sadio 的産品定位就是為了解決 Data Works 使用者本地寫 UDF 的痛點,我們有一款功能更強大的 WEB IDE—App Studio 內建了.所有功能的基礎上,支援前後端應用開發,支援前端可視化搭建,計劃上公共雲時間為 2019年3月份,敬請期待。
問4:Function Studio 送出到 DataWorks 的 UDF 在生産環境調用不到
答:Function Sundio 的 UDF 隻是送出到了 Date Wonks 的開發環境,生産環境要調用還需要在 Dava Wonts 裡進行釋出。