我們對Amazon RedShift中的大型數據集進行了一些聚合,並且我們在MySQL中有一些相對較少的數據。對於RedShift中的一些連接,我們需要MySQL中的數據。將MySql數據同步到RedShift的最佳方式是什麼?像oracle中的遠程視圖那樣在紅移中有這樣的事情嗎?或者我應該編程查詢MySql並在RedShift中插入/更新?將MySql中的數據同步到Amazon RedShift
6
A
回答
3
當Redshift中的連接需要MySQL數據時,我們通常只是將它從一個發送到另一個。
這意味着:
- 紅移:創建一個類似的表架構(銘記紅移/ PSQL的特殊性)
- MySQL的:轉儲數據表(CSV格式)
- 荏苒出口,並將其發送到S3
- 紅移:截斷表中,使用導入的所有數據COPY
步驟2到4可以編寫腳本,並允許您在必要時或定期向Redshift發送新數據。
7
Redshift現在通過SSH支持loading data from remote hosts。這種技術包括:
- 從集羣到authorized_keys文件遠程主機(S)
- 允許從羣集節點 的IP地址的遠程主機(S)SSH訪問的添加公鑰
- 將JSON清單上傳到S3,指定要在遠程主機上執行的遠程主機,公鑰和命令
- 運行帶有指定清單文件和AWS憑證的COPY命令
清單指定的命令運行一個任意命令,該命令通過Redshift COPY命令打印format suitable for ingest中的文本輸出。
-2
檢查這個simplest way加載Mysql數據到紅移。當您的期望只是將初始數據快照加載到紅移時,請嘗試使用該免費解決方案。此外,您將獲得模式遷移,並排查詢控制檯以及整個加載過程的統計報告(帶圖表)。
0
什麼是Oracle中的「遠程視圖」?
無論如何,如果你可以從表格中提取數據到CSV文件,你還有一個腳本選項。您可以使用Python/boto/psycopg2組合將您的CSV加載腳本編寫到Amazon Redshift。
在我MySQL_To_Redshift_Loader我做了以下內容:
從MySQL提取數據到臨時文件。
loadConf=[ db_client_dbshell ,'-u', opt.mysql_user,'-p%s' % opt.mysql_pwd,'-D',opt.mysql_db_name, '-h', opt.mysql_db_server] ... q=""" %s %s INTO OUTFILE '%s' FIELDS TERMINATED BY '%s' ENCLOSED BY '%s' LINES TERMINATED BY '\r\n'; """ % (in_qry, limit, out_file, opt.mysql_col_delim,opt.mysql_quote) p1 = Popen(['echo', q], stdout=PIPE,stderr=PIPE,env=env) p2 = Popen(loadConf, stdin=p1.stdout, stdout=PIPE,stderr=PIPE) ...
壓縮和加載數據到S3使用boto Python模塊和多載。
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) bucket = conn.get_bucket(bucket_name) k = Key(bucket) k.key = s3_key_name k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr)
使用psycopg2 COPY命令將數據添加紅移表。
sql=""" copy %s from '%s' CREDENTIALS 'aws_access_key_id=%s;aws_secret_access_key=%s' DELIMITER '%s' FORMAT CSV %s %s %s %s;""" % (opt.to_table, fn, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,opt.delim,quote,gzip, timeformat, ignoreheader)
相關問題
- 1. 將數據從Amazon Aurora同步到Redshift
- 2. 將數據從Amazon dynamoDB加載到redshift
- 3. 刪除雙引號「,同時將數據加載到Amazon Redshift Spectrum
- 4. 將數據從Amazon Redshift導出爲JSON
- 5. 使用SSIS包將數據從Amazon Redshift遷移到SQL Server中
- 6. 將數據從Amazon Redshift遷移到DynamoDB中
- 7. 從Amazon Redshift導出到RDS MySQL數據庫
- 8. 發送MySQL數據到Redshift
- 9. 如何將csv數據文件複製到Amazon RedShift?
- 10. psycopg2/python將數據從postgresql複製到Amazon RedShift(postgresql)
- 11. Amazon Redshift使用Pentaho數據集成的Mysql
- 12. 如何將Amazon Redshift連接到python
- 13. 從mysql到Redshift的數據複製
- 14. 通過PHP查詢Amazon Redshift數據庫
- 15. Amazon Redshift to Glacier
- 16. amazon redshift,sqlworkbench/j
- 17. Tableau中的Amazon Redshift錯誤
- 18. 將大量數據插入到Redshift中
- 19. PHP:同步數據與Amazon S3
- 20. 將幾個sqlite數據庫同步到一個mysql數據庫
- 21. 將數據(增量式)加載到Amazon Redshift,S3和DynamoDB中vs插入
- 22. 通過Excel宏連接到Amazon Redshift(ODBC連接字符串到Amazon Redshift)
- 23. 同步MySQL的數據塊的數據
- 24. 將郵件同步到MySQL
- 25. 將backbone.js同步到php/MySQL
- 26. 在Amazon Redshift中複製到同一列兩次
- 27. 單向數據庫同步到MySQL
- 28. 如何將本地數據庫同步到mysql中的服務器數據庫
- 29. 到Amazon Redshift的ODBC連接字符串
- 30. 如何將userip轉換爲AMAZON REDSHIFT中的整數
請不要發佈,以促進您的文章,其中有沒有解決辦法,但只是一個參考。這不是一個領先的生成門戶。 – lazywiz