为给定的数据库表列表运行pandasprofing HTML报告。

polywhirl的Python项目详细描述


波利惠尔

你是否在使用一个不熟悉的数据库并感到困惑?在

您是否发现自己正在运行SELECT * FROM TABLE LIMIT 100查询来提醒自己关键字段的可能值?在

在没有上游数据生产商提供明确文件的情况下,这些数值是否会在数年内缓慢变化?在

如果您对以上任何一个问题的回答是“是”,则此套餐可能适合您。在

Image of Poliwhirl pokemon

它的作用

poliwhrl通过为指定的键表生成有用的HTML报告(通过pandas-profiling),帮助您在不熟悉的数据库中定位自己。它将所有这些输出保存到一个目录中,您可以使用Spotlight或Alfred本地索引该目录,甚至可以部署到团队的某个内部静态网站。在

安装

您可以通过pip安装此软件包:

pip install polywhirl

特点和用法

polywhrl接受yaml文件的一个参数,该文件包含要分析的数据库的结构。这个yaml文件的格式大致遵循dbt的schema.yml。为您提供了一个模板文件tables.yml,但您需要输入特定于您自己数据库的模式和表的列表。在

^{pr2}$

Polywhirl目前支持这些连接:

  1. BigQuery(在tables.yml中使用name: bigquery
  2. 红移(在tables.yml中使用name: redshift

为了提高性能,polywhrll将从每个表中随机抽取10k行的样本。 对于Redshift,它支持为每个表定义一个sortkey,用于将数据限制在最近90天内。这样可以提高大型表的性能。在

BigQuery凭证由依赖于^{}包的pandas.read_gbq()处理。在

红移凭证在第一次运行时被请求,然后使用keyring包在本地存储在系统密钥链中。在

常见问题解答

你知道你拼错了Poliwhirl

是的,我在写自述时注意到了这一点,但为时已晚,这个名字在我身上成长起来了。在

托多

希望以后能收到以下信息,请随时向我发送PRs:

  • 向BigQuery逻辑添加Redshift sortkey的等价物,以防止不必要的全表扫描
  • 将.html输出编译为可搜索的静态网站
  • 自动测试(w/pytest)

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

推荐PyPI第三方库


热门话题
通过拖动Java Swing scroll JScrollPane   使用springrest控制器的java   为什么使用Java客户端传输的数据在Apache Pulsar上显示为编码?   java当数组位于arraylist中时,如何访问它?   用于处理{Item1}的正则表达式代码。将项2放入数组或列表中   java mouseListener让我的JList表现得很奇怪   java SecurityContextHolder尽管成功登录,但仍承载匿名用户   java如何在selenium自动化中使用captcha   eclipse如何在java中检查按钮是否可单击,SeleniumWebDriver。ps:检查是否可点击,不要等到它可点击   java Android存在读取\调用\日志权限问题   java按这种方式进行取整(保持小数)   Java中检查布尔数组的最快方法   java将列表中的元素替换为其他元素   JavaFX中的javaunicode补充平面   java如何使用hashmap显示图像url