从 AWS Glue 读取 Netezza 时连接超时
Connection timeout when reading Netezza from AWS Glue
我正在尝试使用 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)
我尝试了一些没有用的东西:
- 使用火花而不是胶水来阅读
- 使用非常小的 table(<100 行)作为源
我应该补充一点,Netezza 数据库位于公司防火墙后面,但在使用自定义驱动程序时我没有看到任何用于指定安全组的选项(正如您可以使用 Glue 本机连接所做的那样)。
有什么想法吗?
1) 如果您尝试访问预置的 netezza 主机,您首先需要验证您是否能够从您为粘合作业选择的 VPC 访问 netezza。
2) 这会带来问题,因为 VPC 是根据您添加到胶水的连接选择的,显然没有提到支持 netezza。然而,您仍然可以输入 netezza url 并设置它 up.The 测试可能不起作用,但是至少您可以选择您选择的子网和安全组。您的 sec 组应该打开 netezza 端口
3) 我猜你的 vpc 直接 connect/vpn 设置到你的办公室网络。只要您的防火墙接受来自您已添加到粘合作业的子网 CIDR 范围的连接,它就应该可以工作。您可能需要询问管理 netezza 防火墙的团队,从您的 VPC/subnet ip-range
打开连接
我正在尝试使用 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)
我尝试了一些没有用的东西: - 使用火花而不是胶水来阅读 - 使用非常小的 table(<100 行)作为源
我应该补充一点,Netezza 数据库位于公司防火墙后面,但在使用自定义驱动程序时我没有看到任何用于指定安全组的选项(正如您可以使用 Glue 本机连接所做的那样)。
有什么想法吗?
1) 如果您尝试访问预置的 netezza 主机,您首先需要验证您是否能够从您为粘合作业选择的 VPC 访问 netezza。
2) 这会带来问题,因为 VPC 是根据您添加到胶水的连接选择的,显然没有提到支持 netezza。然而,您仍然可以输入 netezza url 并设置它 up.The 测试可能不起作用,但是至少您可以选择您选择的子网和安全组。您的 sec 组应该打开 netezza 端口
3) 我猜你的 vpc 直接 connect/vpn 设置到你的办公室网络。只要您的防火墙接受来自您已添加到粘合作业的子网 CIDR 范围的连接,它就应该可以工作。您可能需要询问管理 netezza 防火墙的团队,从您的 VPC/subnet ip-range
打开连接