這可能是一個簡單的修復,但我無法運行此代碼。我一直在 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
提交
取消