如何把資料從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 規格越大,效能也會越好。
相關文章
- 用Navicat把SQLServer資料匯入MySQLServerMySql
- 用 gpss 從 kafka 消費資料載入到 greenplumKafka
- 資料同步:教你如何實時把資料從 MySQL 同步到 OceanBaseMySql
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- Sqoop將MySQL資料匯入到hive中OOPMySqlHive
- Mysql同步到GreenplumMySql
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- MySQL入門--匯出和匯入資料MySql
- MySQL資料的匯入MySql
- AWSredshift->hdbpg(Greenplum),資料庫-S3匯入匯出(unload,externaltable)-hdbpgexternaltable資料庫S3
- Solr8 從 MySQL8.0.20中 匯入資料SolrMySql
- Mysql 資料庫匯入與匯出MySql資料庫
- 使用navicat匯出查詢大量資料結果集並匯入到其他資料庫(mysql)資料庫MySql
- 匯入excel資源到資料庫Excel資料庫
- MySQL匯入百萬資料實踐MySql
- Windows 下 MySQL 資料匯入 RedisWindowsMySqlRedis
- Flume:資料匯入到hdfs中
- 【MySQL】白話說MySQL(五),資料的匯出與匯入MySql
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- .NET Core使用NPOI將Excel中的資料批量匯入到MySQLExcelMySql
- sqoop用法之mysql與hive資料匯入匯出OOPMySqlHive
- NCF 如何匯入Excel資料Excel
- MySQL Shell import_table資料匯入MySqlImport
- 如何將外部資料庫 匯入到系統的SQL中資料庫SQL
- SQLServer匯出匯入資料到MySQLServerMySql
- MYSQL資料匯出備份、匯入的幾種方式MySql
- Navicat、into outfile、mysql命令、mysqldump、mysqlpump、mydumper匯出匯入資料MySql
- java 從EXCEL匯入到系統JavaExcel
- spark sql與mysql 資料載入與匯出資料到mysqlSparkMySql
- 如何把某個網站的SSLServercertificate鏈匯入到ABAPNetweaver系統裡網站Server
- odps平臺將資料匯入到hdfs
- 如何將Excl內資料匯入資料庫?資料庫
- 教你如何將二進位制檔案匯入到資料庫資料庫
- 資料治理:從一把手工程到資料文化!
- 用php把資料匯出excelPHPExcel
- 《從0到1學習Flink》—— Flink 讀取 Kafka 資料批量寫入到 MySQLKafkaMySql
- mysql匯出資料MySql
- 把TXT文字匯入SQLServer 出錯:資料轉換失敗SQLServer