使用红移光谱的工具。
spectrif的Python项目详细描述
光谱化
一个简单而强大的工具,可以将数据从红移到红移频谱。
- 自由软件:麻省理工学院许可证
- 文档:https://spectrify.readthedocs.io。
功能
一行到:
- 将红移表导出到s3(csv)
- 将导出的CSV并行转换为拼花文件
- 在红移集群上创建频谱表
- 按顺序执行所有3个步骤,实际上是在一个命令中“复制”一个redshift表频谱。
使用boto3指定s3凭据。见http://boto3.readthedocs.io/en/latest/guide/configuration.html
redshift凭据通过环境变量、命令行参数或交互提示提供。
安装
$ pip install spectrify
命令行用法
将redshift tablemy_table导出到s3上的csv文件文件夹:
$ spectrify --host=example-url.redshift.aws.com --user=myuser --db=mydb export my_table \ 's3://example-bucket/my_table'
将导出的CSV转换为拼花:
$ spectrify --host=example-url.redshift.aws.com --user=myuser --db=mydb convert my_table \ 's3://example-bucket/my_table'
从s3文件夹创建频谱表:
$ spectrify --host=example-url.redshift.aws.com --user=myuser --db=mydb create_table \ 's3://example-bucket/my_table' my_table my_spectrum_table
按顺序执行所有3个步骤来转换redshift表:
$ spectrify --host=example-url.redshift.aws.com --user=myuser --db=mydb transform my_table \ 's3://example-bucket/my_table'
python用法
导出到S3:
fromspectrify.exportimportRedshiftDataExporterRedshiftDataExporter(sa_engine,s3_config).export_to_csv('my_table')
将导出的CSV转换为拼花:
fromspectrify.convertimportConcurrentManifestConverterfromspectrify.utils.schemaimportSqlAlchemySchemaReadersa_table=SqlAlchemySchemaReader(engine).get_table_schema('my_table')ConcurrentManifestConverter(sa_table,s3_config).convert_manifest()
从s3拼花文件夹创建光谱表:
fromspectrify.createimportSpectrumTableCreatorfromspectrify.utils.schemaimportSqlAlchemySchemaReadersa_table=SqlAlchemySchemaReader(engine).get_table_schema('my_table')SpectrumTableCreator(sa_engine,dest_schema,dest_table_name,sa_table,s3_config).create()
按顺序执行所有3个步骤来转换redshift表:
fromspectrify.transformimportTableTransformertransformer=TableTransformer(engine,'my_table',s3_config,dest_schema,dest_table_name)transformer.transform()
贡献
随时欢迎投稿!在这里阅读我们的投稿指南:http://spectrify.readthedocs.io/en/latest/contributing.html
许可证
麻省理工学院执照。版权所有(c)2017,The Attriiv Company,Inc.
历史记录
2.0.0(2019-03-09)
- 默认为256MB文件
- Python2.7上Unicode支持的标志(性能影响)
- 放弃对Python3.4的支持
- 支持其他CSV格式参数
- 支持真实数据类型
1.0.1(2018-07-12)
- 松开pyarrow的版本要求
- 添加示例脚本
- 更新文档
1.0.0(2018-04-20)
- 将功能移到类中,使自定义行为更容易
- 添加对日期列的支持
- 添加对十进制/数字列的支持
- 升级至pyarrow v0.9.0
0.4.1(2018-03-25)
- 修复源表不在schema public中时的异常
0.4.0(2018-02-25)
- 升级至pyarrow v0.8.0
- 在尝试转换之前,请验证是否支持redshift列类型
- 错误修复:正确清理multiprocessing.pool资源
0.3.0(2017-10-30)
- 支持16位和32位整数
- 打包更新
0.2.1(2017-09-27)
- 修复自述文件
0.2.0(2017-09-27)
- pypi上的第一个版本。
0.1.0(2017-09-13)
- 连皮皮都没来。