这可能是一个简单的修复,但我无法运行此代码。我一直在 Pycharm 2020.2.3 上使用 AWS Secrets Manager,没有出现任何问题。然而,AWS Wrangler 的问题如下:读入数据框test_df = pd.read_csv(source, encoding='latin-1')检查 df 数据类型data_types_df = test_df.dtypesprint('Data type of each column of Dataframe:')print(data_types_df)将列转换为正确的数据类型test_df['C'] = pd.to_datetime(test_df['C'])test_df['E'] = pd.to_datetime(test_df['E'])检查 df 数据类型df_new = test_df.dtypesprint('Data type of each column of Dataframe:')print(df_new)我已经尝试了下面的两个片段,但出现了相同的错误:engine = wr.catalog.get_engine("aws-data-wrangler-redshift", region_name=region_name)engine = wr.catalog.get_engine('redshift+psycopg2://' + Username + ":" + Password + ClusterURL)错误:botocore.exceptions.NoRegionError: You must specify a region.然后我将尝试使用以下两种方法之一将 Pandas Dataframe 转换为 redshift 中的自定义表:path = f"s3://{bucket}/stage/"iam_role = 'ARN'将 df 复制到 redshift 自定义表wr.db.copy_to_redshift( df=df_new, path=path, con=engine, schema="custom", table="test_df", mode="overwrite", iam_role=iam_role, primary_keys=["c"])熊猫 df 到红移wr.pandas.to_redshift( dataframe=df_new, path=path, schema="custom", table="test_df", connection=con, iam_role="YOUR_ROLE_ARN", mode="overwrite", preserve_index=False)任何帮助将非常感激 :)
1 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
Data Wrangler 在底层使用 Boto3。Boto3 将查找AWS_DEFAULT_REGION
env 变量。所以你有两个选择:
在您的文件中设置~/.aws/config
:
[default] region=us-east-1
或者将其设置为 PC 中的环境变量:
export AWS_DEFAULT_REGION=us-east-1
更具体地说,您可以在 PyCharm 中设置环境变量
添加回答
举报
0/150
提交
取消