为给定的数据库表列表运行pandasprofing HTML报告。
polywhirl的Python项目详细描述
波利惠尔
你是否在使用一个不熟悉的数据库并感到困惑?在
您是否发现自己正在运行SELECT * FROM TABLE LIMIT 100
查询来提醒自己关键字段的可能值?在
在没有上游数据生产商提供明确文件的情况下,这些数值是否会在数年内缓慢变化?在
如果您对以上任何一个问题的回答是“是”,则此套餐可能适合您。在
它的作用
poliwhrl通过为指定的键表生成有用的HTML报告(通过pandas-profiling),帮助您在不熟悉的数据库中定位自己。它将所有这些输出保存到一个目录中,您可以使用Spotlight或Alfred本地索引该目录,甚至可以部署到团队的某个内部静态网站。在
安装
您可以通过pip安装此软件包:
pip install polywhirl
特点和用法
polywhrl接受yaml文件的一个参数,该文件包含要分析的数据库的结构。这个yaml文件的格式大致遵循dbt的schema.yml。为您提供了一个模板文件tables.yml
,但您需要输入特定于您自己数据库的模式和表的列表。在
Polywhirl目前支持这些连接:
- BigQuery(在
tables.yml
中使用name: bigquery
) - 红移(在
tables.yml
中使用name: redshift
)
为了提高性能,polywhrll将从每个表中随机抽取10k行的样本。 对于Redshift,它支持为每个表定义一个sortkey,用于将数据限制在最近90天内。这样可以提高大型表的性能。在
BigQuery凭证由依赖于^{pandas.read_gbq()
处理。在
红移凭证在第一次运行时被请求,然后使用keyring包在本地存储在系统密钥链中。在
常见问题解答
你知道你拼错了Poliwhirl?是的,我在写自述时注意到了这一点,但为时已晚,这个名字在我身上成长起来了。在
托多
希望以后能收到以下信息,请随时向我发送PRs:
- 向BigQuery逻辑添加Redshift sortkey的等价物,以防止不必要的全表扫描
- 将.html输出编译为可搜索的静态网站
- 自动测试(w/pytest)
- 项目
标签: