要在AWS Glue中安装psycopg2,您可以按照以下步骤进行操作:
打开AWS Glue控制台并进入您的AWS Glue作业。
单击左侧菜单中的“脚本库”。
在右上角找到“添加Python库”按钮,单击它。
在弹出的对话框中,将“Library type”设置为“Wheel”。
在“库名称”字段中输入“psycopg2”。
在“库版本”字段中输入您想要安装的特定版本号,或者保留为空白以安装最新版本。
在“Amazon S3路径”字段中输入psycopg2库的S3路径。例如,可以使用以下路径:s3://bucket-name/psycopg2-2.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl。
单击“添加”。
等待安装完成。
安装完成后,您可以在AWS Glue作业的脚本中导入和使用psycopg2库。以下是一个示例代码片段:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from pyspark.sql import SQLContext
import psycopg2
# 创建SparkContext和GlueContext
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
sqlContext = SQLContext(spark)
# 连接到PostgreSQL数据库
conn = psycopg2.connect(
host="your_host",
database="your_database",
user="your_user",
password="your_password"
)
# 执行SQL查询
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
result = cursor.fetchall()
# 将查询结果转换为Spark DataFrame
df = spark.createDataFrame(result, cursor.description)
# 打印DataFrame的内容
df.show()
# 关闭数据库连接
cursor.close()
conn.close()
请根据您的实际情况更改主机名、数据库名、用户名和密码。这个示例代码将从PostgreSQL数据库中选择所有行,并将结果打印到控制台上。
请注意,安装psycopg2库可能需要一些时间,具体取决于您选择的版本和网络连接速度。如果安装失败,请确保S3路径正确,并检查可能的错误消息。