使用Amazon Data Pipeline,我正在尝试使用SqlActivity在非Redshift数据存储上执行某些SQL(SnowflakeDB,对于好奇的人)。似乎应该可以使用SqlActivity使用JdbcDatabase。我的第一个警告是亚马逊上的所见即使编辑器甚至没有让我尝试创建一个JdbcDatabase,但我还是继续努力,只是亲自编写并上传了一个Json定义,我自己(这是相关的一点):
{
"id" : "ExportToSnowflake",
"name" : "ExportToSnowflake",
"type" : "SqlActivity",
"schedule" : { "ref" : "DefaultSchedule" },
"database" : { "ref" : "SnowflakeDatabase" },
"dependsOn" : { "ref" : "ImportTickets" },
"script" : "COPY INTO ZENDESK_TICKETS_INCREMENTAL_PLAYGROUND FROM @zendesk_incremental_stage"
},
{
"id" : "SnowflakeDatabase",
"name" : "SnowflakeDatabase",
"type" : "JdbcDatabase",
"jdbcDriverClass" : "com.snowflake.client.jdbc.SnowflakeDriver",
"username" : "redacted",
"connectionString" : "jdbc:snowflake://redacted.snowflakecomputing.com:8080/?account=redacted&db=redacted&schema=PUBLIC&ssl=on",
"*password" : "redacted"
}
当我将其上传到设计器时,它拒绝激活,给我这个错误消息:
ERROR: 'database' values must be of type 'RedshiftDatabase'. Found values of type 'JdbcDatabase'
管道定义的其余部分工作正常,没有任何错误。我已经确认,如果我只是退出这一步,它会激活并成功。
我无法在整个互联网上找到实际使用Data Pipeline中的JdbcDatabase的人。这根本不起作用吗?如果没有办法真正使用它,为什么在文档中甚至提到它?或者我错过了什么?我想知道这是不是徒劳无功的运动,然后我会把更多客户的钱花在试图找出正在发生的事情上。
答案 0 :(得分:0)
在您的JdbcDatabase
中,您需要具有以下属性:
jdbcDriverJarUri: "[S3 path to the driver jar file]"