(以下簡稱ADB PG版)作為阿里云上熱門的實時數倉產品,已經贏得大量對大規模數據實時分析需求客戶的肯定,目前在阿里云上已經提供了多種方式(包括但不限于、DTS、等)將數據從MySQL中同步到ADB PG版中進行數據分析。但是有點缺陷的是,由于ADB PG版是一個分布式的分析型數據庫,表結構的定義和傳統的關系型數據庫差異較大,前面的工具中都沒有提供表結構的同步,這也成為困擾客戶的問題,因此我們基于開源工具貼身做了個表結構轉換的工具。
功能介紹
該工具主要提供將MySQL中的表結構轉換為ADB PG版規范的表結構,只需要有簡單的環境和就可以使用。MySQL中的無主鍵表需要單獨處理一下,因為ADB PG版在建表時是需要指定分布列的,工具默認會將MySQL中的主鍵列設置為分布列,對于無主鍵表,用戶需要修改生成的建表語句,為無主鍵表指定分布列。
獲取工具
的地址:
使用步驟
1.使用 dump出PG兼容的MySQL建表語句(修改下面語句中的和.sql),此處dump語句很重要,一定要轉為PG兼容的建表語句:
mysqldump --opt --compatible=postgresql --default-character-set=utf8 -d databasename -r dumpfile.sql -u username -p
2.執行轉換腳本,.sql和.sql填寫真實的值
python db_converter.py dumpfile.sql adbforpg.sql
.sql是轉換后的ADB for PG的建表語句,如果需要有需改需求,可以直接在文件中進行修改。重點要關注一下分布列的選擇表可以沒有主鍵嗎,默認選擇MySQL表中的主鍵作為分布列表可以沒有主鍵嗎,如果MySQL表結構中無主鍵,請手動修改選擇分布列。