当前位置:   article > 正文

python读取s3文件数据_python s3

python s3

S3是Amazon Web Services (AWS) 提供的一种对象存储服务,全称为 Amazon Simple Storage Service。它提供了一种高度可扩展、安全且持久的云存储解决方案。

在S3中,用户可以存储和检索任意数量的数据,包括文件、图片、视频等任何类型的二进制数据或文本数据,并通过互联网进行访问。S3支持海量存储空间,可以根据需求随时增加或减少存储容量,并按实际用量付费。
S3的主要特点包括:

可靠性:数据在多个设施中冗余存储,确保高可用性和耐用性。
安全性:支持多种加密方式,如服务器端加密(SSE-S3, SSE-KMS, 或者客户提供的密钥),以及访问控制列表(ACL)和IAM策略来管理权限。
大规模存储:能够存储PB级的数据,并能处理极高的请求率。
低成本:仅需为实际使用的存储量、请求次数和数据流出量付费。
易用性:提供了简单的Web界面和丰富的API接口,便于管理和操作存储桶及其中的对象。

S3广泛应用于各种场景,例如网站托管、备份与恢复、数据分析、内容分发、应用程序开发等。

s3cmd 是一个开源的命令行工具,用于与Amazon S3服务进行交互。它允许用户通过命令行界面上传、下载、管理存储在S3上的文件和桶(bucket)。使用s3cmd可以方便地执行常见的S3操作,例如:

创建、删除和列出S3桶
上传、下载和删除S3对象(文件)
设置访问控制列表(ACLs)以控制对象权限
同步本地目录与S3桶或反之
进行多部分上传大文件

下面简单介绍如何使用s3fs模块从python读取s3的数据:

# 封装s3函数
def s3fs_data(file_name, file_sep, col_name):
    """
    参数:
    file_name 文件名
    file_sep 文件分隔符
    col_name 文件字段名
    
    返回值:
    pdf pandas的df数据
    """
    import pandas as pd
    import s3fs
    # ccs存储桶名称
    bucket_name = '10-bucket'
    # 文件名
    file_name = file_name
    # 设置你访问密钥
    access_key = '123456'  
    secret_key = '123456'
    # 创建 S3 文件系统对象,指定自定义的 S3 服务端点和访问密钥
    custom_endpoint = 'http://127.0.0.1:8011'
    s3 = s3fs.S3FileSystem(key=access_key, secret=secret_key, client_kwargs={'endpoint_url': custom_endpoint})
    # 读数转为pandas df数据格式
    with s3.open(f's3://{bucket_name}/{file_name}') as f:
        pdf = pd.read_csv(f, sep=file_sep, names=col_name, header=None, encoding="utf-8")
    return pdf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
%%time
# 传入参数
file_name = 'oneid_cache.txt'
file_sep = '|'
col_name = ['r_inst_id', 'offer_list', 'filter_prod_offer_inst_list', 'fuka_serv_offer_list', 'filter_list', 'new_serv_id','if_gzjy']

oneid_pdf = s3fs_data(file_name=file_name, file_sep=file_sep, col_name=col_name)
oneid_pdf.head()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/707267
推荐阅读
相关标签
  

闽ICP备14008679号