Redshift__跨伺服器複製表,使用unload和copy命令在S3中實現
官方文件
表遷移:利用 RedShift Upload 功能將源伺服器的表資料以檔案形式匯入 S3,再利用 COPY 功能把該檔案從 S3 中匯入目標伺服器的表。如果源伺服器和目標伺服器不再一個region區域,可以利用S3的跨區複製 S3 bucket Cross-Region Replication把檔案從源伺服器對應的region區域複製到目標伺服器對應的region區域
1、源端執行unload後,源端的表還存在,相當於只是select源端的表,把結果存放到S3的儲存桶
2、目標端copy其實是append追加操作,把資料insert到目標表,所以目標端的的表必須存在
源端:
解除安裝資料,源表lukes_test.univ
unload ('select * from lukes_test.univ')
to 's3://redshift-backtesting-unload-copy/lukes_test.univ'
access_key_id 'XX'
secret_access_key 'YY'
目標端:
複製資料,目標端表lukes_test2.univ
copy lukes_test2.univ
from 's3://redshift-backtesting-unload-copy/lukes_test.univ'
access_key_id 'XX'
secret_access_key 'YY'
源端解除安裝資料包錯
unload ('select * from lukes_test.univ')
to 's3://console.aws.amazon.com/s3/buckets/redshift-backtesting-unload-copy/lukes_test.univ'
access_key_id 'XX'
secret_access_key 'YY'
報錯:The S3 bucket addressed by the query is in a different region from this cluster
實際上S3 bucket和redshift叢集都在同一個區域,把上面的s3://console.aws.amazon.com/s3/buckets/redshift-backtesting-unload-copy/lukes_test.univ改成s3://redshift-backtesting-unload-copy/lukes_test.univ即可
目標端copy資料包錯
copy lukes_test2.univ
from 's3://redshift-backtesting-unload-copy/lukes_test.univ'
報錯:Cannot COPY into nonexistent table univ;
目標端的表必須存在才能執行copy動作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2718561/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Ubuntu使用dd命令實現硬碟級複製Ubuntu硬碟
- python中的複製copy模組怎麼使用?Python
- 使用 xclip 在 Linux 命令列中複製貼上Linux命令列
- 在vSphere中實現複製貼上功能
- Java 中的寫時複製 (Copy on Write, COW)Java
- Go 實現 Raft 第三篇:命令和日誌複製GoRaft
- CAD複製命令如何使用
- AWS CLI 實現 S3與EC2例項間檔案複製S3
- vue 中實現複製貼上Vue
- 面試題分解—「淺複製/深複製、定義屬性使用copy還是strong ?」面試題
- Linux下命令列中的複製和貼上Linux命令列
- 在網站copy時自帶的版權小尾巴以及“複製程式碼“,可以怎麼實現網站
- js 實現深複製/深複製JS
- JavaScript實現複製和貼上功能JavaScript
- 在tmux中copyUX
- React元件化複製 react-clipboardjs-copyReact元件化JS
- 在vue專案中jsPlumb製作流程圖,拖拽複製使用 jquery 和 jquery UIVueJS流程圖jQueryUI
- 提高安全性,優雅實現複製與交換:C++中的Copy-and-Swap慣用法C++
- 在 Linux 中複製文件Linux
- 實戰案例丨使用雲連線CC和資料複製服務DRS實現跨區域RDS遷移和資料同步
- Vue中結合clipboard實現複製功能Vue
- JS實現複製大法JS
- 前端實現複製功能前端
- 利用 ChangeStream 實現 Amazon DocumentDB 表級別容災複製
- Python中Wxpython實現剪下、複製、貼上和檔案開啟功能Python
- 使用scp命令在多個Linux系統間進行檔案複製Linux
- C#中的物件深複製和淺複製C#物件
- 詳談Javascript中的深複製和淺複製JavaScript
- 複製和引用複製
- C++檔案系統操作6 - 跨平臺實現檔案和資料夾的複製C++
- AWSredshift->hdbpg(Greenplum),資料庫-S3匯入匯出(unload,externaltable)-hdbpgexternaltable資料庫S3
- 使用結構化克隆在 JavaScript 中進行深度複製JavaScript
- mysql複製表結構和資料MySql
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- mysql實現主從複製MySql
- js實現複製連結JS
- vue實現物件的複製Vue物件
- redis 主從複製實現Redis