這可能是一個(gè)簡(jiǎn)單的修復(fù),但我無(wú)法運(yùn)行此代碼。我一直在 Pycharm 2020.2.3 上使用 AWS Secrets Manager,沒(méi)有出現(xiàn)任何問(wèn)題。然而,AWS Wrangler 的問(wèn)題如下:讀入數(shù)據(jù)框test_df = pd.read_csv(source, encoding='latin-1')檢查 df 數(shù)據(jù)類型data_types_df = test_df.dtypesprint('Data type of each column of Dataframe:')print(data_types_df)將列轉(zhuǎn)換為正確的數(shù)據(jù)類型test_df['C'] = pd.to_datetime(test_df['C'])test_df['E'] = pd.to_datetime(test_df['E'])檢查 df 數(shù)據(jù)類型df_new = test_df.dtypesprint('Data type of each column of Dataframe:')print(df_new)我已經(jīng)嘗試了下面的兩個(gè)片段,但出現(xiàn)了相同的錯(cuò)誤:engine = wr.catalog.get_engine("aws-data-wrangler-redshift", region_name=region_name)engine = wr.catalog.get_engine('redshift+psycopg2://' + Username + ":" + Password + ClusterURL)錯(cuò)誤:botocore.exceptions.NoRegionError: You must specify a region.然后我將嘗試使用以下兩種方法之一將 Pandas Dataframe 轉(zhuǎn)換為 redshift 中的自定義表:path = f"s3://{bucket}/stage/"iam_role = 'ARN'將 df 復(fù)制到 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貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
Data Wrangler 在底層使用 Boto3。Boto3 將查找AWS_DEFAULT_REGION
env 變量。所以你有兩個(gè)選擇:
在您的文件中設(shè)置~/.aws/config
:
[default]?? region=us-east-1
或者將其設(shè)置為 PC 中的環(huán)境變量:
export?AWS_DEFAULT_REGION=us-east-1
更具體地說(shuō),您可以在 PyCharm 中設(shè)置環(huán)境變量
添加回答
舉報(bào)
0/150
提交
取消