我正在尝试使用AWS Glue将数据从本地Netezza数据库提取到S3中。我到目前为止编写的代码(不完整)
df = glueContext.read.format("jdbc")\
.option("driver", "org.netezza.Driver")\
.option("url", "jdbc:netezza://NetezzaHost01:5480/Netezza_DB")\
.option("dbtable", "ADMIN.table1")\
.option("user", "myUser")\
.option("password", "myPassword")\
.load()
print(df.count())
我正在使用自定义的JDBC驱动程序jar,因为AWS Glue本机不支持Netezza(该驱动程序由IBM提供),并且在将作业作为依赖项触发时将其指定。
此代码不断失败,并显示超时错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o68.load.
: org.netezza.error.NzSQLException: Connection timed out (Connection timed out)
我尝试过的一些方法不起作用:-用火花代替胶水阅读-使用很小的表(<100行)作为源
我应该补充说,Netezza数据库在公司防火墙后面,但是在使用自定义驱动程序时,我看不到任何指定安全组的选项(就像对Glue本机连接所做的那样。)>
有什么想法吗?
我正在尝试使用AWS Glue将数据从本地Netezza数据库提取到S3中。到目前为止,我已编写的代码(不完整)df = gumContext.read.format(“ jdbc”)\ .option(“ driver”,“ ...
1)如果您要访问本地的netezza主机,首先需要验证您是否能够从为胶粘工作选择的VPC中访问netezza。