使用aws资源(如s3、sqs、mturk和其他)的常用数据任务的帮助器模块库
larrydata的Python项目详细描述
larrydata
larrydata是一个公共数据任务实用程序库,使用aws进行数据科学和数据工程项目。 虽然boto3是与aws服务交互的一个很好的接口,但对于数据科学家和 其他人希望对数据执行简单的操作,而不必担心特定于api的交互和参数。 larrydata使得在功能更强大的系统中使用s3、mturk和其他面向数据的aws服务变得更加容易 让你专注于数据而不是语法的方式。此库旨在完成获取任务 在jupyter笔记本或aws lambda功能尽可能简单。
例如,使用boto3,您可以将json格式的对象从s3读入dict:
importboto3importjsonresource=boto3.resource('s3')obj=resource.Bucket('mybucket').Object(key='myfile.json').get()contents=obj['Body'].read()my_dict=json.loads(contents.decode('utf-8'))
相反,larrydata负责所有这些步骤,让我们只调用一个函数来获取数据。 除了使用bucket/key对访问数据之外,您还可以像sagemaker ground truth中常用的那样使用s3uri。
fromlarrydataimports3my_dict=s3.read_dict(bucket='mybucket',key='myfile.json')# Alternatively, you can use S3 URIs to access your datamy_dict2=s3.read_dict(uri='s3://mybucket/myfile.json')
要将文件写入s3,只需调用write_object
以适当的格式写出对象:
fromlarrydataimports3# Write json to S3my_dict={'key':'val'}s3.write_object(my_dict,bucket='mybucket',key='myfile.json')# Write a list of strings to S3 as rowsmy_list=['a','b','c','d']s3.write_object(my_list,bucket='mybucket',key='myfile.txt')# Write a JSON lines file to S3my_dictlist=[{'a':1},{'b':2},{'c':3}]s3.write_object(my_dictlist,bucket='mybucket',key='myfile.jsonl')
larrydata对于mturk这样具有更复杂交互模式和遗留方面的服务尤其有用。 他们的原料药。mturk模块包含许多功能,使使用mturk更加容易:
- 在沙盒和生产客户端之间轻松切换(不再在端点url中复制/粘贴)
- 工作答案被转换成易于访问的dict对象(不再是questionformanswer xml!)
- 潜在的昂贵操作,如列表点击和列表点击返回生成器的列表分配
- 包含了一些实用程序,可以使用集成的jinja2模板轻松生成htmlquestion和externalquestion xml对象
- 在requesterAnotation字段中启用状态数据的帮助程序
随着时间的推移将添加更多功能,请随时提交您的功能建议。