如何把資料從Mysql匯入到Greenplum
本文介紹給大家幾個把資料從 Mysql 匯入到 Greenplum 的方法
自阿里雲推出 Greenplum 服務以來,很多公測使用者希望把自己在 Mysql 中的資料放到 Greenplum 用於進行資料分析。而且很多客戶的資料量相當大。在這裡我向大家提供幾種經過驗證的向雲上 Greenplum 匯入大量資料的方法。
一:使用 COPY 命令匯入資料
特點:
1. Greenplum 提供的原生資料匯入方法。
2. 需要先把資料從 Mysql 匯出成文字檔案。
3. 適合少量資料上雲,匯入過程中資料會經過 Greenplum 的 Master 節點,所以效能不會特別理想。
二: 通過阿里雲開源的工具 mysql2pgsql 匯入
特點:
1. Mysql 匯入 Greenplum DB 到 DB 不落地的匯入方案,簡單實用。
2. 推薦購買 ECS,和在 ECS 上使用該工具,特別適合從 RDS Mysql/ECS 自建例項匯入資料。
3. 該工具已經開源了程式碼,各位可以定製自己的需求。
4. 該工具寫入端也會走 Master 節點,所以效能不會特別理想。
三: 通過 OSS 匯入大量資料
該方法的流程如下:
1. 購買和開通阿里雲 ECS,OSS 服務。
2. 在 ECS 上使用 ossfs 包掛載購買的 oss 為本地檔案系統。
3. 在 ECS 上安裝 mysql 二進位制RPM。
4. 使用 mysqldump 命令流式獲取源庫中對應表中的資料,並增量寫入到 oss 中。
5. 使用 gp_oss_ext 在 Greenplum 中建立 oss 外部表,並行的將資料匯入到 Greenplum 中。
mysqldump 匯出舉例:
nohup /home/mysql/bin/mysqldump -h192.168.1.1 -P3306 -utest -ptest testdb testtab | sed `s/),(/
/g;s/NULL//g` | split -l 1000000 - /ossdata/testtab/data. 1>/home/test/testtab.out 2>&1 &
上面的舉例有幾個要點,大家可以根據自己的需求定製
1. 使用者可以使用 mysqldump 匯出資料,也可以使用 mysql 命令,如果資料量較大,建議使用 --quick 引數,避免記憶體不足。
2. mysqldump 跟上的 sed 命令是為了格式化匯出的資料,以符合 Greenplum 匯入的格式規範,大家可以根據需求定製這一項。
3. split 也是一個比較關鍵的點。它用於定製切割和存放檔案的規則。原因有以下兩點
3.1 oss 上普通檔案有大小限制
3.2 gp_oss_ext 並行匯入 oss 上的資料是以檔案為單位併發的,推薦在 OSS 上使用虛擬資料夾存放對應一個表的所有資料。
從 OSS 裝載資料的特點:
1. 這是一個應對大量資料匯入到 Greenplum 的方法,可以輕鬆從 Mysql 匯入上百G,甚至上T的資料到 Greenplum。
2. 不需要很大的緩衝臨時空間,資料是流式寫入到 OSS 的。
3. 匯出和匯入時以表為單位進行的,使用者可以併發操作多個表以提高整體的效能。
4. 該方法的效能遠好於前兩種,匯入到雲上 Greenplum 規格越大,效能也會越好。
相關文章
- 把Excel表資料匯入到mysqlExcelMySql
- 把ACCESS的資料匯入到Mysql中(轉)MySql
- 從Excel到匯入MYSQL資料庫ExcelMySql資料庫
- 將資料從文字匯入到mysql(轉)MySql
- 用Navicat把SQLServer資料匯入MySQLServerMySql
- windows下把資料從oracle匯入hbaseWindowsOracle
- banq您好,請問如何把excel的資料匯入mysql.ExcelMySql
- 用 gpss 從 kafka 消費資料載入到 greenplumKafka
- 資料同步:教你如何實時把資料從 MySQL 同步到 OceanBaseMySql
- 把資料匯入到不同的表空間
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- MySQL資料匯入到infobright中MySql
- 把csv檔案的資料匯入到oracle資料庫中Oracle資料庫
- greenplum使用gpfdist與外部表高效匯入資料
- 如何把資料匯入不同的表空間
- 將Mysql資料匯入到ElasticSearch叢集MySqlElasticsearch
- 用exp/imp把遠端資料匯入到本地資料庫中資料庫
- Mysql同步到GreenplumMySql
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- MySQL入門--匯出和匯入資料MySql
- MySQL資料的匯入MySql
- 把資料從MySQL遷到Oracle的幾點注意事項MySqlOracle
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysql匯入匯出.csv格式資料MySql
- mysqldump匯入匯出mysql資料庫MySql資料庫
- MySQL表資料匯入與匯出MySql
- Mysql 資料庫匯入與匯出MySql資料庫
- 如何把 .csv 的檔案匯入資料庫SQL SERVER 中!資料庫SQLServer
- 【匯入匯出】將資料匯入到其他使用者
- MYSQL資料檔案匯入MySql
- ORACLE MYSQL互相匯入資料OracleMySql
- Solr8 從 MySQL8.0.20中 匯入資料SolrMySql