将KissMetrics网站分析数据从S3存储桶加载到Postgres数据库中

km2pg的Python项目详细描述


km2pg

将指定的s3 bucket中的原始kissmetrics数据加载到指定的postgres数据库中。

安装

在此目录中,运行以下命令:

python setup.py install

使用

一旦安装,名为km2pg的新脚本现在应该可以在path中使用,它可以如下使用:

km2pg
-b name_of_s3_bucket -m postgres_hostname -p postgres_port -d postgres_dbname -u postgres_username -w postgres_passwd -a aws_access_key -s aws_secret_key

有关更多详细信息,请参见km2pg–帮助。

需要

  • boto: Python library for AWS
  • psycopg: postgres Python client library

注释

该脚本可以安全地从amazon spot实例运行,其中检查点非常重要,因为脚本可以随时中断。

策略

kissmetrics将原始数据存储到多个json文件中:

bucket/
revisions/
1.json 2.json … N.json

kissmetrics提供了一个“索引”文件,位于:

bucket/index.csv

这个索引文件列出了kissmetrics当前存放在上面“revisions”文件夹中的所有json文件。

我们的策略是按照json文件在index.csv中的显示顺序(碰巧是按照时间的增长顺序)处理它们。

在Postgres实例中,我们将通过index.csv来保持进度。这种方法假设kissmetrics只会附加到index.csv,而不会编辑。

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

推荐PyPI第三方库


热门话题
java如何获取给定日期范围内的日期列表?   处理多个同名XML条目的java Apache配置   java Jersey如何确定应用程序的基本URI?   用于错误报告的java连续屏幕记录   使用字符串对象的锁进行同步的java线程并发   正则表达式从Java中的字符串文本中提取重复模式集   java可以成为Liferay V6。0.6可以使用Maven构建系统编写吗?   JavaSpring和Hibernate上的java句柄软删除   java/cplex约束的线性化   java如何在Spring+JSP中查看发送请求和获取响应之间的时间差   ArrayQue对象的2d字符数组的java维度   ssl无法使用任何java技术从internet提取数据。网SocketException:java。安全NoSuchAlgorithmException   java如何检查应用程序是否第一次启动   java使用log4j通过SMTPAppender发送电子邮件报告