我正在尝试将s3上的**. csv**文件读入Glue中的PySpark Dataframe 。但是,它仍然失败,出现"AnalysisException: Path does not exist: s3://kp-landing-dev/input/kp/kp/export_incr_20230611183316.csv"
错误。我已经验证了路径和文件一百次,它们确实存在(在s3上)。我为这事伤透了脑筋。
我甚至构建了一个函数(如下)来检查文件是否存在于s3上,它是否成功运行并正确返回文件名。因此,我有点困惑,不知道我错在哪里。
def get_file_name(bucket_name, directory_remote, file_name):
try:
s3 = boto3.client('s3')
objects = s3.list_objects_v2(Bucket=bucket_name, Prefix=f"{directory_remote}/{file_name}")
for obj in objects['Contents']:
return(obj['Key'].split("/")[-1])
except:
print("Error encountered in get_file_name")
bucket = "kp-landing-dev"
directory_remote = "input/kp/kp"
toName_csv = "export_incr_20230611183316"
myfile = get_file_name(bucket, directory_remote, toName_csv) --> outputs- "export_incr_20230611183316"
df = spark.read.options(header='true').csv("s3://" + f"{bucket}" + "/" + f"{directory_remote}" + "/" + f"{myfile}", schema=schema)
有人能帮帮忙吗。
1条答案
按热度按时间2izufjch1#
您可以用途: