我正在使用AWS數據管道服務將數據從RDS MySql
數據庫傳輸到s3
,然後到Redshift
,這很好地工作。如何將數據從AWS Postgres RDS傳輸到S3(然後是Redshift)?
但是,我也有數據生活在RDS Postres
實例中,我想以同樣的方式管道,但我很難設置jdbc連接。如果這不受支持,是否有解決方法?
"connectionString": "jdbc:postgresql://THE_RDS_INSTANCE:5432/THE_DB」
我正在使用AWS數據管道服務將數據從RDS MySql
數據庫傳輸到s3
,然後到Redshift
,這很好地工作。如何將數據從AWS Postgres RDS傳輸到S3(然後是Redshift)?
但是,我也有數據生活在RDS Postres
實例中,我想以同樣的方式管道,但我很難設置jdbc連接。如果這不受支持,是否有解決方法?
"connectionString": "jdbc:postgresql://THE_RDS_INSTANCE:5432/THE_DB」
這還不行。 aws沒有構建/發佈功能來很好地連接到postgres。儘管如此,你可以在shellcommandactivity中執行它。你可以寫一些ruby或python代碼來做到這一點,並使用scriptUri將其放在s3的腳本中。你也可以直接編寫一個psql命令將錶轉儲到一個csv,然後在該活動節點中用「staging:true」將它傳遞給OUTPUT1_STAGING_DIR。
是這樣的:
{
"id": "DumpCommand",
"type": "ShellCommandActivity",
"runsOn": { "ref": "MyEC2Resource" },
"stage": "true",
"output": { "ref": "S3ForRedshiftDataNode" },
"command": "PGPASSWORD=password psql -h HOST -U USER -d DATABASE -p 5432 -t -A -F\",\" -c \"select blah_id from blahs\" > ${OUTPUT1_STAGING_DIR}/my_data.csv"
}
我沒跑這來驗證,因爲它旋轉起來管道中的痛苦:(所以仔細檢查逃逸的命令
研究剛剛在參數化模板數據管道上啓動的新工具:http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-custom-templates.html。它看起來會允許加密任意參數。
AWS現在允許合作伙伴執行接近實時的RDS - > Redshift插入。
https://aws.amazon.com/blogs/aws/fast-easy-free-sync-rds-to-redshift/
截至2015年2月25日,上述鏈接僅支持MySQL - > Redshift,並且不支持OP詢問的Postgres。 – 2015-02-25 18:43:05
看起來從那時起它已經更新。從鏈接:上面討論的所有四個數據集成解決方案可以用於所有RDS數據庫引擎(MySQL,SQL Server,PostgreSQL和Oracle)._ – ryan 2015-08-17 23:26:08
現在,你可以定義一個複製活動來提取一個Postgres RDS實例數據到S3。在數據管道接口中:
已確認,您不需要shellcommandactivity – 2016-03-17 17:58:44
這太糟糕了,這是不正確的目前尚未在CA中提供 – 2016-07-25 17:26:32
作爲一個快速更新:在PostgreSQL現在支持SSL,所以如果你在一個新版本確保設置ssl = true,以便設置加密。 – 2016-07-25 17:30:05