中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql遷移mpp數據庫Greenplum的過程

發布時間:2021-09-16 10:05:30 來源:億速云 閱讀:213 作者:chen 欄目:大數據

本篇內容主要講解“mysql遷移mpp數據庫Greenplum的過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql遷移mpp數據庫Greenplum的過程”吧!

1. 場景描述

因兄弟項目中mysql有點扛不住了,要做sql優化,但是業務有點小復雜,優化起來有點麻煩(sql嵌套有點多),便想著用Mpp數據庫Greenplum測試下,看性能和復雜度怎么樣,趟趟水。

 

2.解決方案

初步的想法是:因為mysql和postgresql(Greenplum建立在postgresql之上,i'm 軟件老王)都是使用的標準sql,直接把mysql的建表語句在Greenplum建一邊,把數據導入過來測試一下就行了,應該半天內就能搞定。

 
2.1 Greenplum建表

將mysql的表結構通過navicat for mysql導出(navivat中只導出表結構,如下圖),但是發現導出的結構在

Greenplum中執行不了,mysql中的ddl語句:

1 `CONFIG_ID` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT '軟件老王'
 
mysql遷移mpp數據庫Greenplum的過程  

解決辦法

(1)網上找了mysql轉postgresql的java代碼,寫的不是太全面,改了幾次還是有點問題,放棄。

(2)問了下dba,用的Navicat Premium 12 可以轉,網址:https://www.navicat.com.cn/

mysql遷移mpp數據庫Greenplum的過程  

Navicat Premium可以同時操作多個數據庫,包括:mysql和greenplum(postgresql),以前使用navicat for mysql只能操作mysql數據庫,navicat for postgresql只能操作postgresql。

 
2.2 導出數據結構

使用Navicat Premium,如下圖:

mysql遷移mpp數據庫Greenplum的過程  

左邊選擇mysql,右邊選擇greenplum,同時去掉選項中的創建記錄,就能在Greenplum中創建表了。(先創建所有表,數據量太大,我們只導幾張表的數據進行測試)

mysql遷移mpp數據庫Greenplum的過程  
 
2.3 導入數據。
 
2.3.1 初步想法

初步想法是通過Navicat 直接導入,使用上面的Navicat Premium12就能直接從mysql導入Greenplum數據,但是導入了幾張小表后,碰到的一張30多萬的表,導了20多分鐘還不到40%,看了下greenplum的master節點cpu有點高,后面還有好幾張百萬級的數據,這樣的效率要導到猴年馬月了。

 
2.3.2 外部表方式

(1)首先需要在master節點啟動外部表程序fdisk,新建個目錄,存放從mysql中導出的文件,我導出的是csv格式。

1[gpadmin@軟件老王 ~]$ mkdir script
2[gpadmin@軟件老王 ~]$ nohup gpfdist -d /home/gpadmin/script/ -p 8081 -l /home/gpadmin/script/ruanjianlaowang.log &
 

(2)創建外部表

1------------------------
2CREATE EXTERNAL TABLE "public"."t_laowang_ex" (
3  "laowang_type" numeric(3),
4  "laowang_id" varchar(36)
5) 
6location ('gpfdist://10.192.0.168:8081/laowang.csv') format 'csv' (DELIMITER ',') encoding 'utf8';
 

說明:

(a)可以直接將原表的ddl語句拿出來,名稱增加個_ex(新建外部表的時候,發現not null用不了要替換成空)

(b)其中ip地址是greenplum的master地址,laowang是csv文件名稱,csv文件是通過navicat右鍵導出的,i‘m 軟件老王。

1gpfdist://10.192.0.168:8081/laowang.csv
 

(3)數據裝載到greenplum表中

1insert into t_laowang select * from t_laowang_ex;
2i'm 軟件老王
 

這樣就完成了數據從mysql遷移到了greenplum中,具體測試結果對比就不在這里多說了。

 
2.4 總體結論

方案執行比想象的復雜,一是兩個數據庫建表sql不一樣,后通過最新的Navicat Premium 12 解決;二是直接通過navicat導入,在效率上有問題,走不通,通過外部表的方式解決,外部表方式2-3秒就能導入完成;三是,新建外部表的時候,跟原表稍微有點差異,也的注意下。

到此,相信大家對“mysql遷移mpp數據庫Greenplum的過程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马鞍山市| 烟台市| 万年县| 龙井市| 郧西县| 梓潼县| 西安市| 高雄市| 名山县| 吉安市| 娱乐| 钟山县| 磴口县| 中江县| 安庆市| 苗栗市| 五大连池市| 自贡市| 城市| 涟水县| 大悟县| 措美县| 金塔县| 台东县| 湟中县| 安多县| 越西县| 积石山| 遂平县| 湖南省| 舒城县| 营口市| 尉氏县| 长丰县| 张家川| 卢湾区| 长白| 鄂州市| 卫辉市| 金沙县| 慈利县|