使用红移光谱的工具。

spectrif的Python项目详细描述


光谱化

https://img.shields.io/pypi/v/spectrify.svghttps://img.shields.io/travis/hellonarrativ/spectrify.svgDocumentation Status

一个简单而强大的工具,可以将数据从红移到红移频谱。

功能

一行到:

  • 将红移表导出到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)

  • 连皮皮都没来。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据日期比较两条记录并返回cassandra中的最新记录   在Java中检查导致错误的奇数整数   当其他应用程序也在访问同一数据库时,java有没有办法打开h2控制台?   Java不能生成多个JSON文本   使用撤消按钮在Java ArrayList中移动   通过java Processbuilder提交hadoop mapreduce作业不会结束   使用loop在java中生成基本乘法表   java如何反序列化XML并在给定元素后获取特定键的值   优选具有java实现的加密算法   java连续线程。sleep()在一个同步的瞬间继续运行理想的延迟代码   java如何在OpenGL ES 2.0中从数组中读取4个以上的顶点数据?   java AlertDialog getActivity()错误   java根据数据库表动态连接到数据库   java获取字符串中特定单词后面的字符?   在Cactoos类上使用多个Iterables引发的java警告   在eclipse中找不到java 安卓 inapp购买库   安全性java网络摄像头捕获API安全吗?   当使用服务帐户列出GSuite上的驱动器文件时,java被授权   java如何提高从hazelcast读取数据的Get方法性能?