小编Dat*_*Dog的帖子

使用文件夹结构迭代 S3 存储桶中的文件

我有一个 S3 存储桶。在存储桶内,我们有一个 2018 年的文件夹,以及我们为每个月和每天收集的一些文件。因此,例如,2018\3\24、2018\3\25 等等。

我们没有将日期放在每一天存储桶中的文件中。

基本上,我想遍历存储桶并使用文件夹结构按“日期”对每个文件进行分类,因为我们需要将其加载到不同的数据库中,并且需要一种识别方法。

我已经阅读了大量关于使用 boto3 的帖子,并反复阅读,但是关于是否可以完成我需要的细节似乎存在冲突。

如果有更简单的方法可以做到这一点,请提出建议。

我得到了它关闭导入 boto3

s3client = boto3.client('s3')
bucket = 'bucketname'
startAfter = '2018'

s3objects= s3client.list_objects_v2(Bucket=bucket, StartAfter=startAfter )
for object in s3objects['Contents']:
    print(object['Key'])
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-ec2 python-3.x

4
推荐指数
1
解决办法
1万
查看次数

Pyspark复合过滤器,多种条件

Pyspark 是全新的,我正在重构一些 R 代码,这些代码开始失去正确扩展的能力。我返回一个数据帧,其中包含许多带有数值的列,并且我尝试使用多个复合条件将此结果集过滤为一个新的、更小的结果集。

from pyspark.sql import functions as f

matches = df.filter(f.when('df.business') >=0.9 & (f.when('df.city') == 1.0) & (f.when('street') >= 0.7)) |
                   (f.when('df.phone') == 1) & (f.when('df.firstname') == 1) & (f.when('df.street') == 1) & (f.when('df.city' == 1)) |
                   (f.when('df.business') >=0.9) & (f.when('df.street') >=0.9) & (f.when('df.city')) == 1))) |
                   (f.when('df.phone') == 1) & (f.when('df.street') == 1) & (f.when('df.city')) == 1))) |
                   (f.when('df.lastname') >=0.9) & (f.when('df.phone') == 1) & (f.when('df.business')) >=0.9 & (f.when('df.city') == 1))) |
                   (f.when('df.phone') == 1 & (f.when('df.street') …
Run Code Online (Sandbox Code Playgroud)

pyspark

1
推荐指数
1
解决办法
9511
查看次数

标签 统计

amazon-ec2 ×1

amazon-s3 ×1

pyspark ×1

python-3.x ×1