日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Data Lake Analytics: 使用DataWorks来调度DLA任务

發(fā)布時(shí)間:2024/4/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Data Lake Analytics: 使用DataWorks来调度DLA任务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

DataWorks作為阿里云上廣受歡迎的大數(shù)據(jù)開發(fā)調(diào)度服務(wù),最近加入了對(duì)于Data Lake Analytics的支持,意味著所有Data Lake Analytics的客戶可以獲得任務(wù)開發(fā)、任務(wù)依賴關(guān)系管理、任務(wù)調(diào)度、任務(wù)運(yùn)維等等全方位強(qiáng)大的能力,今天就給大家介紹一下如何使用DataWorks來調(diào)度DLA的腳本任務(wù)。

開通DLA

在開始之前我們要有一個(gè)?DLA?的賬號(hào),目前 DLA 的新用戶都有50T的免費(fèi)流量,可以放心試用。開通DLA成功后,你會(huì)獲得一個(gè)用戶名和密碼, 然后在控制臺(tái)登錄就可以使用:

或者如果你是極客,更偏愛命令行,你也可以使用普通的 MySQL 客戶端就可以連接 DLA 了:

mysql -hservice.cn-region.datalakeanalytics.aliyuncs.com -P10000 -u<your-user-name> -p<your-password>

在這篇文章里面,我會(huì)使用 MySQL 命令行給大家演示 DLA 的功能。

申請(qǐng)?jiān)囉?DataWorks + DLA

開通DLA服務(wù)之后,您還需要開通DataWorks的服務(wù),目前DataWorks還在公測(cè)階段,放心使用。

然后您可以在您對(duì)應(yīng)的DLA服務(wù)群里面找我們?nèi)魏我晃煌瑢W(xué)開通一下DLA + DataWorks的試用資格(目前這個(gè)功能還處于邀請(qǐng)?jiān)囉玫碾A段,沒有完全放開)。

如果目前還沒有專門DLA服務(wù)群的客戶,可以通過工單聯(lián)系我們。

DLA數(shù)據(jù)、庫(kù)、表準(zhǔn)備

為了演示如何在DataWorks上調(diào)度DLA的任務(wù),我們后面會(huì)用到一些測(cè)試數(shù)據(jù),這里我們用著名的TPCH的測(cè)試數(shù)據(jù)集, 數(shù)據(jù)保存在OSS上面。

通過MySQL命令行我們創(chuàng)建對(duì)應(yīng)的庫(kù)、表:

CREATE SCHEMA dataworks_demo with DBPROPERTIES(CATALOG = 'oss',LOCATION = 'oss://test-bucket/datasets/' );use dataworks_demo; CREATE EXTERNAL TABLE IF NOT EXISTS orders (O_ORDERKEY INT, O_CUSTKEY INT, O_ORDERSTATUS STRING, O_TOTALPRICE DOUBLE, O_ORDERDATE DATE, O_ORDERPRIORITY STRING, O_CLERK STRING, O_SHIPPRIORITY INT, O_COMMENT STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'oss://test-bucket/datasets/tpch/1x/text_string/orders_text/';-- 結(jié)果表 finished_orders CREATE EXTERNAL TABLE IF NOT EXISTS finished_orders (O_ORDERKEY INT, O_TOTALPRICE DOUBLE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'oss://test-bucket/datasets/dataworks_demo/finished_orders/';-- 結(jié)果表 high_value_finished_orders CREATE EXTERNAL TABLE IF NOT EXISTS high_value_finished_orders (O_ORDERKEY INT, O_TOTALPRICE DOUBLE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'oss://test-bucket/datasets/dataworks_demo/high_value_finished_orders/';

任務(wù)調(diào)度其中一個(gè)重要的功能是任務(wù)之間的依賴,為了演示這個(gè)功能,我們這里會(huì)在DataWorks里面創(chuàng)建兩個(gè)DLA任務(wù), 我們的表、任務(wù)之間的關(guān)系如下圖:

  • 任務(wù)一: 我們從orders表清洗出已經(jīng)完成的訂單:?o_orderstatus = 'F'?, 并寫入 finished_orders 表
  • 任務(wù)二: 再?gòu)?finished_orders 表里面找出總價(jià)大于10000的訂單:?o_totalprice > 10000, 并寫入?high_value_finished_orders?表

關(guān)于如何使用DLA分析OSS數(shù)據(jù)更詳細(xì)的信息可以參考:

  • Data Lake Analytics + OSS數(shù)據(jù)文件格式處理大全:?https://yq.aliyun.com/articles/623246
  • 使用Data Lake Analytics + OSS分析CSV格式的TPC-H數(shù)據(jù)集:?https://yq.aliyun.com/articles/623282

在 DataWorks 上創(chuàng)建 DLA 任務(wù)

在開通了?DataWorks + DLA?的功能后,我們可以在DataWorks的數(shù)據(jù)開發(fā)IDE里面創(chuàng)建DLA的任務(wù)了,如下圖:

我們把第一個(gè)任務(wù)命名為:?finished_orders?, 點(diǎn)擊確定會(huì)進(jìn)入一個(gè)SQL編輯的頁(yè)面,要寫DLA SQL一定要告訴DataWorks我們寫的SQL運(yùn)行在哪個(gè)DLA的服務(wù)上,這個(gè)在DataWorks里面被包裝成了"數(shù)據(jù)源"的概念:

DataWorks的規(guī)范是任務(wù)的名稱跟任務(wù)的輸出表的名稱保持一致。

剛進(jìn)來的時(shí)候沒有數(shù)據(jù)源,點(diǎn)擊新建數(shù)據(jù)源:

填寫必要的信息點(diǎn)擊確定完成。

DataWorks為了安全的考慮,對(duì)可以連接的服務(wù)進(jìn)行了安全控制,因此我們需要把我們要連的DLA的地址+端口加到白名單里面去,這個(gè)配置是在DataWorks工作空間的配置里面:

具體配置如下(需要換成你實(shí)際的IP+端口):

這里需要注意一下,工作空間配置只有工作空間管理員才有權(quán)限。

做了這么多之后,我們終于可以在編輯頁(yè)面看到DLA的數(shù)據(jù)源了,下面我們?cè)?finished_orders?的任務(wù)里面填入如下SQL, 并點(diǎn)擊執(zhí)行:

use dataworks_demo; insert into finished_orders select O_ORDERKEY, O_TOTALPRICE from orders where O_ORDERSTATUS = 'F';

如下圖:

重復(fù)上述步驟,我們創(chuàng)建第二個(gè)任務(wù): high_value_finished_orders:

use dataworks_demo; insert into high_value_finished_orders select * from finished_orders where O_TOTALPRICE > 10000;

配置任務(wù)依賴

單個(gè)任務(wù)單次運(yùn)行沒什么太大意思,任務(wù)調(diào)度的核心在于多個(gè)任務(wù)按照指定的依賴關(guān)系在指定的時(shí)間進(jìn)行運(yùn)行,下面我們讓:?task_finished_orders?在每天半夜2點(diǎn)開始運(yùn)行:

high_value_finished_orders?在?finished_orders?成功運(yùn)行之后再運(yùn)行:

任務(wù)發(fā)布

任務(wù)配置好之后,就可以進(jìn)行任務(wù)的發(fā)布、運(yùn)維了。任務(wù)要發(fā)布首先必須提交:

提交之后,我們?cè)诖l(fā)布列表可以看到所有待發(fā)布的任務(wù):

選擇我們剛剛提交的兩個(gè)任務(wù),我們就可以發(fā)布了:

在發(fā)布列表頁(yè)面可以查看我們剛剛的發(fā)布是否成功:

發(fā)布成功之后,我們就可以進(jìn)入任務(wù)運(yùn)維頁(yè)面查看我們的任務(wù),進(jìn)行各種運(yùn)維操作了。

總結(jié)

在這篇文章里面,我?guī)Т蠹乙黄痼w驗(yàn)了一下如何用 DataWorks 來開發(fā)、調(diào)度DLA的任務(wù),有了這個(gè)能力之后大家可以更方便地進(jìn)行每天任務(wù)的開發(fā)、運(yùn)維了。

原文鏈接

轉(zhuǎn)載于:https://my.oschina.net/u/1464083/blog/3020948

總結(jié)

以上是生活随笔為你收集整理的Data Lake Analytics: 使用DataWorks来调度DLA任务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。