AWS Glue 插入并更新到 oracle 表中

问题描述 投票:0回答:1

我们正在尝试将一些工作从 informatica 迁移到 awsglue 大部分逻辑和转换已经完成。 最后一步是将数据插入公共的 oracle 数据库(aws rds 中不存在)。 是否可以在 awsglue 中执行插入和更新?

我尝试使用 cx_Oracle 模块,但出现错误

amazon-web-services oracle aws-glue aws-glue-connection
1个回答
0
投票

尽管如此,您可以使用 Glue pyspark 作业或 Glue python-shell 作业来执行此操作,但 Pyspark 并不意味着逐行执行 UPDATE/INSERT 操作 - 您可以追加(INSERT),也可以替换整个表。

如果您要使用 Python-shell 作业(Python V3.9 或更高版本)来完成此操作,您需要

  • 下载 JDBC Oracle 驱动程序并将其添加到控制台中的“依赖 jar 路径”下。应添加完整的 S3 URI,例如。

    s3://bucket-name/jars/oracle-jdbc.jar

  • 接下来,添加所需的附加包。在控制台中,它位于“Python 库路径”下。

    --additional-python-modules cx-Oracle==8.3.0
    您可以从 Pypi.org 下载正确版本的 whl 文件

  • 如果您处于限制网络中,限制 Glue 作业下载 python 软件包进行安装(添加其他软件包时您将看到以下错误),请将 cx_Oracle 的 whl 文件添加到 S3 中,然后添加这些文件,例如:

    --additional-python-modules s3://bucket-name/whls/cx-oracle--py3-none-any.whl
    。从 https://pypi.org/project/cx-Oracle/#files 找到正确的 whl 文件 - 选择 python 3.9、manylinux、x86_64

https://pypi.org/project/cx-Oracle下载错误:[Errno 99] 无法 分配请求的地址——有些包裹可能找不到!不能 查找“cx_Oracle”的索引页(可能拼写错误?)

测试您的作业现在可以导入模块。

import cx_Oracle import pandas as pd
    
© www.soinside.com 2019 - 2024. All rights reserved.