97在线观看播放-无码人妻久久一区二区三区不卡-免费大片黄在线观看-无码少妇一区二区三区芒果-美女不带套日出白浆免费视频-精品国偷自产在线

客服熱線:13033933971

實(shí)踐教程之使用 PolarDB-X 與 Flink 搭建實(shí)時(shí)數(shù)據(jù)大屏

2023-02-28 13:11 瀏覽:1 來(lái)源:鍋爐之家   
核心摘要:PolarDB-X 為了方便用戶體驗(yàn),提供了免費(fèi)的實(shí)驗(yàn)環(huán)境,您可以在實(shí)驗(yàn)環(huán)境里體驗(yàn) PolarDB-X 的安裝部署和各種內(nèi)核特性。除了免費(fèi)的實(shí)驗(yàn),PolarDB-X 也提供免費(fèi)的視頻課程,手把手教你玩轉(zhuǎn) PolarDB-X 分布式數(shù)據(jù)庫(kù)。本期實(shí)驗(yàn)將指導(dǎo)您使用 PolarDB-X 與Flink搭建實(shí)時(shí)數(shù)據(jù)大屏。本期免費(fèi)實(shí)驗(yàn)地址本期教學(xué)視頻地址前置準(zhǔn)備假設(shè)已經(jīng)

PolarDB-X 為了方便用戶體驗(yàn),提供了免費(fèi)的實(shí)驗(yàn)環(huán)境,您可以在實(shí)驗(yàn)環(huán)境里體驗(yàn) PolarDB-X 的安裝部署和各種內(nèi)核特性。除了免費(fèi)的實(shí)驗(yàn),PolarDB-X 也提供免費(fèi)的視頻課程,手把手教你玩轉(zhuǎn) PolarDB-X 分布式數(shù)據(jù)庫(kù)。

本期實(shí)驗(yàn)將指導(dǎo)您使用 PolarDB-X 與Flink搭建實(shí)時(shí)數(shù)據(jù)大屏。

本期免費(fèi)實(shí)驗(yàn)地址

本期教學(xué)視頻地址

前置準(zhǔn)備

假設(shè)已經(jīng)根據(jù)前一講內(nèi)容完成了PolarDB-X的搭建部署,可以成功鏈接上PolarDB-X數(shù)據(jù)庫(kù)。

在PolarDB-X中準(zhǔn)備訂單表

PolarDB-X支持通過(guò)MySQL Client命令行、第三方客戶端以及符合MySQL交互協(xié)議的第三方程序代碼進(jìn)行連接。本實(shí)驗(yàn)使用MySQL Client命令行連接到PolarDB-X數(shù)據(jù)庫(kù)。

本步驟將指導(dǎo)您如何連接PolarDB-X數(shù)據(jù)庫(kù),并創(chuàng)建測(cè)試庫(kù)、測(cè)試表和測(cè)試數(shù)據(jù)。

1.執(zhí)行如下命令,安裝MySQL。

yum install mysql -y

2.執(zhí)行如下命令,查看MySQL版本號(hào)。

mysql -V

返回結(jié)果如下,表示您已成功安裝MySQL。

3.執(zhí)行如下命令,登錄PolarDB-X數(shù)據(jù)庫(kù)。

說(shuō)明:

本實(shí)驗(yàn)場(chǎng)景中的PolarDB-X數(shù)據(jù)庫(kù)用戶名和密碼已預(yù)設(shè),請(qǐng)您使用下方命令登錄即可。
如遇到mysql: [Warning] Using a password on the command line interface can be insecure.ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0報(bào)錯(cuò),請(qǐng)您稍等一分鐘,重新執(zhí)行登錄命令即可。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
返回結(jié)果如下,表示您已成功登錄PolarDB-X數(shù)據(jù)庫(kù)。

4.執(zhí)行如下SQL語(yǔ)句,創(chuàng)建測(cè)試庫(kù)mydb。

create database mydb;

5.執(zhí)行如下SQL語(yǔ)句,使用測(cè)試庫(kù)mydb。

use mydb;

6.執(zhí)行如下SQL語(yǔ)句,創(chuàng)建訂單表orders。

CREATE TABLE `orders` ( `order_id` int(11) NOT NULL AUTO_INCREMENT, `order_date` datetime NOT NULL, `customer_name` varchar(255) NOT NULL, `price` decimal(10, 5) NOT NULL, `product_id` int(11) NOT NULL, `order_status` tinyint(1) NOT NULL, PRIMARY KEY (`order_id`) )AUTO_INCREMENT = 10001;

7.執(zhí)行如下SQL語(yǔ)句,給訂單表orders中插入數(shù)據(jù)。

INSERT INTO orders VALUES (default, '2020-07-30 10:08:22', 'Jark', 50.50, 102, false), (default, '2020-07-30 10:11:09', 'Sally', 15.00, 105, false), (default, '2020-07-30 12:00:30', 'Edward', 25.25, 106, false);

8.輸入exit退出數(shù)據(jù)庫(kù)。

運(yùn)行Flink

本步驟將指導(dǎo)您如何下載并運(yùn)行Flink。

1.安裝JDK。

a.執(zhí)行如下命令,使用yum安裝JDK 1.8。

yum -y install java-1.8.0-openjdk*

b.執(zhí)行如下命令,查看是否安裝成功。

java -version

返回結(jié)果如下,表示您已成功安裝JDK 1.8。

2.下載Flink和Flink CDC MySQL Connector。

a.執(zhí)行如下命令,下載Flink。

wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/PolarDB-X/flink-1.13.6-bin-scala_2.11.tgz

b.執(zhí)行如下命令,解壓Flink。

tar xzvf flink-1.13.6-bin-scala_2.11.tgz

c.執(zhí)行如下命令,進(jìn)入lib目錄。

cd flink-1.13.6/lib/

d.執(zhí)行如下命令,下載flink-sql-connector-mysql-cdc。

wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/PolarDB-X/flink-sql-connector-mysql-cdc-2.2.1.jar

e.執(zhí)行如下命令,返回Flink目錄。

cd ..

3.啟動(dòng)Flink。

a.執(zhí)行如下命令,啟動(dòng)Flink。

./bin/start-cluster.sh

b.執(zhí)行如下命令,連接Flink。

./bin/sql-client.sh

4.在Flink中創(chuàng)建與PolarDB-X關(guān)聯(lián)的訂單表orders。

a.執(zhí)行如下SQL語(yǔ)句,創(chuàng)建訂單表orders。

CREATE TABLE orders ( order_id INT, order_date TIMESTAMP(0), customer_name STRING, price DECIMAL(10, 5), product_id INT, order_status BOOLEAN, PRIMARY KEY (order_id) NOT ENFORCED ) WITH ( 'connector' = 'mysql-cdc', 'hostname' = 'localhost', 'port' = '8527', 'username' = 'polardbx_root', 'password' = '123456', 'database-name' = 'mydb', 'table-name' = 'orders' );

b.執(zhí)行如下SQL語(yǔ)句,查看訂單表orders。

select * from orders;

返回結(jié)果如下,您可以查看到PolarDB-X的訂單表orders的數(shù)據(jù)已經(jīng)同步到Flink的訂單表orders中。

c.按q鍵退出。

啟動(dòng)壓測(cè)腳本并實(shí)時(shí)獲取GMV

經(jīng)過(guò)前面幾步操作后,我們?cè)赑olarDB-X中準(zhǔn)備好了原始訂單表,在Flink中準(zhǔn)備好了對(duì)應(yīng)的訂單表,并通過(guò) PolarDB-X Global Binlog與Flink CDC MySQL Connector打通了兩者之間的實(shí)時(shí)同步鏈路。 本步驟將指導(dǎo)您如何創(chuàng)建壓測(cè)腳本,模擬雙十一零點(diǎn)大量訂單涌入的場(chǎng)景。

1.準(zhǔn)備壓測(cè)腳本。

a.在實(shí)驗(yàn)頁(yè)面,單擊右上角的+圖標(biāo),創(chuàng)建新的終端二。

b.執(zhí)行如下命令,創(chuàng)建配置文件mysql-config.cnf。

vim mysql-config.cnf

c.將如下代碼添加到配置文件mysql-config.cnf中。

[client] user = "polardbx_root" password = "123456" host = 127.0.0.1 port = 8527

d.添加完成后的文件內(nèi)容如下所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。

e.執(zhí)行如下命令,創(chuàng)建腳本buy.sh。

vim buy.sh

f.將如下代碼添加到腳本buy.sh中。

#!/bin/bash echo "start buying..." count=0 while : do mysql --defaults-extra-file=./mysql-config.cnf -Dmydb -e "insert into orders values(default, now(), 'free6om', 1024, 102, 0)" let count++ if ! (( count % 10 )); then let "batch = count/10" echo $batch": got 10 products, gave 1024¥" fi sleep 0.05 done

g.添加完成后的文件內(nèi)容如下所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。

h.執(zhí)行如下命令,為腳本buy.sh增加執(zhí)行權(quán)限。

chmod +x buy.sh

2.啟動(dòng)Flink實(shí)時(shí)計(jì)算。

本實(shí)驗(yàn)場(chǎng)景通過(guò)Flink SQL實(shí)時(shí)呈現(xiàn)GMV計(jì)算結(jié)果。

切換至終端一,在Flink中執(zhí)行如下SQL語(yǔ)句,查詢GMV(gmv列)和訂單數(shù)(orders列)。

select 1, sum(price) as gmv, count(order_id) as orders from orders;
返回結(jié)果如下,您可在Flink的實(shí)時(shí)計(jì)算結(jié)果中查看到實(shí)時(shí)的GMV(gmv列)和訂單數(shù)(orders列)。

3.啟動(dòng)壓測(cè)腳本。

a.切換至終端二,執(zhí)行如下命令,啟動(dòng)壓測(cè)腳本,開(kāi)始創(chuàng)建訂單。

./buy.sh

返回結(jié)果如下,您可看到壓測(cè)腳本啟動(dòng)后,不斷有訂單被創(chuàng)建出來(lái)。

b.切換至終端一,在Flink的實(shí)時(shí)計(jì)算結(jié)果中,可查看到實(shí)時(shí)的GMV(gmv列)和訂單數(shù)(orders列)。

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

(責(zé)任編輯:小編)
下一篇:

復(fù)合材料模具加熱系統(tǒng)什么方式比較好?

上一篇:

PolarDB-X 全局 Binlog 解讀之性能篇(下)

打賞
免責(zé)聲明
本文僅代表作者個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們