熟女少妇人妻中文字幕,无码av中文字幕久久专区,337p西西人体大胆瓣开下部,亚洲男同帅gay片在线观看

客服熱線:13033933971

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

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

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

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

本期免費實驗地址

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

前置準(zhǔn)備

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

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

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

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

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

yum install mysql -y

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

mysql -V

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

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

說明:

本實驗場景中的PolarDB-X數(shù)據(jù)庫用戶名和密碼已預(yù)設(shè),請您使用下方命令登錄即可。
如遇到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報錯,請您稍等一分鐘,重新執(zhí)行登錄命令即可。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
返回結(jié)果如下,表示您已成功登錄PolarDB-X數(shù)據(jù)庫。

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

create database mydb;

5.執(zhí)行如下SQL語句,使用測試庫mydb。

use mydb;

6.執(zhí)行如下SQL語句,創(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語句,給訂單表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ù)庫。

運行Flink

本步驟將指導(dǎo)您如何下載并運行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í)行如下命令,進入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.啟動Flink。

a.執(zhí)行如下命令,啟動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語句,創(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語句,查看訂單表orders。

select * from orders;

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

c.按q鍵退出。

啟動壓測腳本并實時獲取GMV

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

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

a.在實驗頁面,單擊右上角的+圖標(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.啟動Flink實時計算。

本實驗場景通過Flink SQL實時呈現(xiàn)GMV計算結(jié)果。

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

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

3.啟動壓測腳本。

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

./buy.sh

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

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

原文鏈接

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

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

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

上一篇:

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

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