TableStore实战:DLA+SQL实时分析TableStore
一、實戰(zhàn)背景
什么是DLA(DataLake Analytics數(shù)據(jù)湖)?他是無服務(wù)器化(Serverless)的云上交互式查詢分析服務(wù)。作為分布式交互式分析服務(wù),是表格存儲計算生態(tài)的重要組成之一。為了使用戶更好的了解DLA的功能、使用方式,創(chuàng)建了這一實戰(zhàn)樣例。
基于DLA可以不用做任何ETL、數(shù)據(jù)搬遷等前置過程, 實現(xiàn)跨各種異構(gòu)數(shù)據(jù)源進(jìn)行大數(shù)據(jù)關(guān)聯(lián)分析,并且支持?jǐn)?shù)據(jù)回流到各個異構(gòu)數(shù)據(jù)源,從而極大的節(jié)省成本、 降低延時和提升用戶體驗。
基于JDBC,表格存儲的控制臺將SQL查詢直接做了集成,數(shù)據(jù)為公共實例,用戶不用開通服務(wù)也可免費體驗表格存儲的實時SQL分析、查詢功能,樣例如下所示:__官網(wǎng)控制臺地址:__項目樣例
?
需求場景:黑五交易數(shù)據(jù)
本實戰(zhàn)案例中,我們從?https://www.kaggle.com/mehdidag/black-friday?上獲取數(shù)據(jù), 存儲到TableStore,然后基于DLA做分析,帶你切身感受下數(shù)據(jù)的價值!
"Black Friday",即“黑色星期五”,是美國人一年中購物最瘋狂的日子,類似于中國的“雙十一”購物狂歡節(jié)。
一般黑色星期五的活動主要在線下,但逐漸也有往線上發(fā)展的趨勢,比如Amazon就有針對黑色星期五做的線上銷售活動, 與天貓雙十一很相似。同樣的,這樣的活動會產(chǎn)生大量有意義的商業(yè)數(shù)據(jù)。
我們在DLA中定義了一個叫blackfriday50w的表,映射到TableStore中的一個表,用來描述用戶購買商品的。
如下為示例數(shù)據(jù)的表結(jié)構(gòu)、與真實數(shù)據(jù)截圖
?
二、表格存儲(TableStore)方案
?
準(zhǔn)備工作
若您對于DLA實時在線分析TableStore的功能感興趣,希望開始自己系統(tǒng)的搭建之旅,只需按照如下步驟便可以著手搭建了:
1、開通表格存儲
通過控制臺開通表格存儲服務(wù),表格存儲即開即用(后付費),采用按量付費方式,已為用戶提供足夠功能測試的免費額度。表格存儲官網(wǎng)控制臺、免費額度說明。
?
2、創(chuàng)建實例
通過控制臺創(chuàng)建表格存儲實例。
?
3、導(dǎo)入數(shù)據(jù)
該數(shù)據(jù)共有53.8萬行,12個列,我們通過SDK將全量數(shù)據(jù)存儲在TableStore的表。用戶可通過控制臺插入2條測試數(shù)據(jù);
?
開通DLA服務(wù)
- DLA服務(wù)開通
用戶進(jìn)入產(chǎn)品介紹頁,選擇開通服務(wù):https://www.aliyun.com/product/datalakeanalytics - 通過DLA控制臺開通TableStore數(shù)據(jù)源
- 開通數(shù)據(jù)源后創(chuàng)建服務(wù)訪問點(擇經(jīng)典網(wǎng)絡(luò),若已有vpc,可選擇vpc)
- 登錄CMS(賬密會在開通服務(wù)后發(fā)送站內(nèi)消息,消息中查看)
?
創(chuàng)建DLA外表
1)創(chuàng)建自己的DLA庫(相關(guān)信息從上述過程中查找):
mysql> create database hangzhou_ots_test with dbproperties (catalog = 'ots',location = 'https://instanceName.cn-hangzhou.ots-internal.aliyuncs.com',instance = 'instanceName' );Query OK, 0 rows affected (0.23 sec)#hangzhou_ots_test ---請注意庫名,允許字母、數(shù)字、下劃線 #catalog = 'ots', ---指定為ots,是為了區(qū)分其他數(shù)據(jù)源,比如oss、rds等 #location = 'https://xxx' ---ots的endpoint,從實例上可以看到 #instance = 'hz-tpch-1x-vol'2)查看自己創(chuàng)建的庫:
mysql> show databases; +------------------------------+ | Database | +------------------------------+ | hangzhou_ots_test | +------------------------------+ 1 rows in set (0.22 sec)3)查看自己的DLA表:
mysql> use hangzhou_ots_test; Database changedmysql> show tables; Empty set (0.30 sec)4)創(chuàng)建DLA表,映射到OTS的表:
mysql> CREATE EXTERNAL TABLE `tableName` (`pk1` varchar(100) not NULL ,`pk2` int not NULL ,`col1` varchar(100) NULL ,`col2` varchar(100) NULL ,PRIMARY KEY (`pk1`, `pk2`) ); Query OK, 0 rows affected (0.36 sec)## `tableName` ? ---- TableStore中對應(yīng)的表名(dla中會轉(zhuǎn)換成小寫后做映射) ## `pk2` int not NULL ---- 如果是主鍵的話,必須要not null ## PRIMARY KEY (`pk1`, `pk2`) ?---- 務(wù)必與ots中的主鍵順序相同;名稱的話也要對應(yīng)5)查看自己創(chuàng)建的表和相關(guān)的DDL語句:
mysql> show tables; +------------+ | Table_Name | +------------+ | tablename ?| +------------+ 1 row in set (0.35 sec)6)開始查詢和分析(用戶可以分析自己的數(shù)據(jù),符合mysql的語法)
mysql> select count(*) from tablename; +-------+ | _col0 | +-------+ | 25 | +-------+ 1 row in set (1.19 sec)這樣,一個TableStore在DLA中的關(guān)聯(lián)外表創(chuàng)建成功,用戶便可以通過JDBC、或者CMS控制臺,根據(jù)自己的需求實時分析自己的TableStore表了。
?
三、表格存儲控制臺展示
如下為控制提供的SQL場景,用戶可以仿照控制臺中實例自己寫一些需求SQL,開來嘗試吧!
- 最暢銷的top10產(chǎn)品和銷售量
- 中高端產(chǎn)品占總體GMV的比例
- 不同年齡段的消費客單價趨勢
- 高消費人群的性別和年齡趨勢
?
這樣,基于DLA+SQL實現(xiàn)的TableStore實時在線分析已經(jīng)完成,是不是很簡單?
?
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的TableStore实战:DLA+SQL实时分析TableStore的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用算力基于 RocketMQ 实现金融
- 下一篇: 阿里巴巴下一代云分析型数据库Analyt