问题标签 [great-expectations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2612 浏览

python - 伟大的期望期望列只包含整数,当只有一个是坏的时,所有行都失败

我想使用大期望包来验证 .csv 文件中的列是否只包含整数。

我正在使用的文件在年龄列中只有整数,除了一行有一个“`”字符。这就是我想要的期望。我还在文本编辑器中检查了 .csv 文件,可以确认年龄列中的年龄没有用引号括起来。

但是,期望在 100% 的数据中失败。我认为这是因为 pandas 将列作为对象类型(所以是字符串)读取,因为行不正确。我可以使用类似的东西.astype(int)对其进行预处理,因为它会在该行上失败。并且包裹.astype(int)在一个try块中将完全违背为此使用巨大期望的目的。

这是一个最小的工作示例:

好.csv:

坏的.csv:

代码:

第一种情况返回

所以所有年龄都是整数,它在每一行都成功。我预计第二种情况会失败,但只会在第二行。但是它在所有行上都失败了:

所以我想我期待这样的事情:

有什么我做错了,还是包裹不能做到这一点?

0 投票
1 回答
652 浏览

python - 在 great_expectations 中使用腌制的 pandas 数据框作为数据资产

可能是一个非常简单的问题,但我无法从 great_expectations 的文档中弄清楚。我想在本地存储为腌制文件“.pkl”的 pandas 数据帧上运行一些测试。

当我运行great_expectations add-datasource它时,它忽略了 .pkl 文件,只为 .csv 文件创建了资产。从 pandas 读取 csv 文件很慢,所以如果 GE 可以支持其他格式,如 pickle 和 HDF,那就太好了。

如何加载 .pkl 或 .hdf 文件作为 GE 的资产?

我正在使用 v0.8.7 :)

0 投票
1 回答
110 浏览

json - TypeError: ufunc 'add' 不包含签名匹配类型 dtype('

我对管道测试寄予厚望。

我有一个类型的数据框批次:- great_expectations.dataset.pandas_dataset.PandasDataset

我想建立动态验证表达式

我对管道测试寄予厚望。

我有一个类型的数据框批次:- great_expectations.dataset.pandas_dataset.PandasDataset

我想建立动态验证表达式

batch.("columnname","value") 其中validationtype columname 和value 来自json 文件。

JSON结构:-

当我构建此表达式时,会收到如下所述的错误消息。

代码:-

输出:-

错误:-

TypeError: ufunc 'add' 不包含签名匹配类型 dtype('


来自标准输入的 Python 3 psycopg2 COPY 失败:.read() 中的错误

我正在尝试应用在页面上找到的代码,特别是目录的“从字符串迭代器复制数据”部分,但我的代码遇到了问题。

由于并非所有来自生成器的行(此处为 log_lines)都可以导入 PostgreSQL 数据库,因此我尝试使用 itertools.filterfalse 过滤正确的行(此处为行),如下面的代码块所示:

当我运行它时, cursor.copy_from() 给了我以下错误:

我明白为什么会出现这个错误,这是因为在我使用的测试文件中,只有 112909 行满足 filterfalse 条件。但是为什么它会尝试复制第 112910 行并抛出错误而不是停止呢?

0 投票
1 回答
1645 浏览

python - 如何在多个列上运行 Great Expectations 预期?

我想使用Great Expectations 测试套件在许多列上运行相同的验证。我看到有一个封闭的功能请求将其作为内置期望,但这可以通过列名上的 for 循环来完成吗?

另外,我需要筛选要测试的列——我正在针对不同的类 id 训练各种计算机视觉模型,所以我需要选择与类 id 对应的所有列。

0 投票
2 回答
303 浏览

python - 远大的期望 SQLAlchemy 不包含小写的列名

我正在尝试使用 SQLAlchemy 和 Great Expectations 来测试存储在 Snowflake DB 中的数据集的数据质量。数据集被调用candidates,感兴趣的列被调用first_name

但是,当我跑步时

我正进入(状态:

问题是表名没有用双引号括起来,因此 Snowflake 正在寻找CANDIDATES而不是candidates. 如果找到表,列名也会出现同样的问题。

我测试过

bu Snowflake 正在寻找一张名为KEBOOLA_274.WORKSPACE_48777448.""candidates"".

我知道 SQLAlchemy 默认情况下认为小写对象名称不区分大小写,因此它不包含名称。请问有什么办法吗?

0 投票
2 回答
1839 浏览

python - 如何将数据框转换为 great_expectations 数据集?

我有一个 pandas 或 pyspark 数据框df,我想在其中运行期望。我已经在内存中有我的数据框。如何将我的数据框转换为 great_expectations 数据集?

这样我就可以做例如:

0 投票
0 回答
1216 浏览

python - pyarrow.lib.ArrowNotImplementedError:尚不支持从 Parquet 文件中读取结构列表:paygw_etp_typs: list

我正在使用 Great Expectations 来测试 ETL 管道中的数据。我拥有的数据文件是 Parquet 格式并且确实有一些数组,当我尝试创建新套件或尝试使用 pyarrow/fastparquet 转换为可读格式时,我遇到以下错误:在此处输入图像描述 但是对于其他人来说一切正常Parquet 数据文件中没有 Arrays 结构。

我将 AWS cloud 9 用作 IDE,但无法解决此问题。任何帮助将不胜感激。请以正确的方式指导我如何处理我的镶木地板数据文件中的这些数组?我几乎尝试了一切,但没有运气:(


单击您的点击时,它看起来对我来说是正确的。

尝试清除浏览器缓存,或在单击刷新按钮时按住 Shift 以执行硬刷新,这将强制加载新的 css。

0 投票
2 回答
2228 浏览

python - 数据流的数据测试框架(deequ vs Great Expectations)

我想在我的管道中引入数据质量测试(空字段/最大值/最小值/正则表达式/等...),这基本上会在数据登录到数据库之前消耗 kafta 主题测试数据。

我很难在 Deequ 和 Great Expectations 框架之间做出选择。Deequ 缺乏明确的文档,但具有“异常检测”,可以将以前的扫描与当前扫描进行比较。远大的期望具有非常好的和清晰的文档,因此开销更少。我认为这些框架都不是专门为数据流设计的。

谁能提供一些建议/其他框架建议?

0 投票
2 回答
242 浏览

amazon-s3 - 将 AWS 角色传递给使用默认 boto3 配置的应用程序

我有一个 aws 设置,需要我承担角色并获取相应的凭据才能写入 s3。例如,要写 with aws cli,我需要使用--profile readwriteflag。如果我自己使用引导编写代码,我将通过 承担角色sts,获取凭据并创建新会话。

但是,有很多应用程序和包依赖于 boto3 的配置,例如内部代码运行如下:

从文档中,可以将 boto3 设置为使用(以及其他)AWS_PROFILEenv 变量使用默认配置文件,并且它显然在boto3.Session().profile_name与变量匹配的条件下“工作” - 但应用程序仍然不会写入 s3。

正确设置它们的最干净/正确的方法是什么?我试图从 sts 中提取凭证,并将它们写为 AWS_SECRET_TOKEN 等,但这对我不起作用......

0 投票
1 回答
203 浏览

great-expectations - 对流数据使用很高的期望

我对测试流数据抱有很高的期望(我将样本收集到一个批次中并测试该批次)。问题是我不能使用文档,因为这将导致生成 1000 个 html 页面中的 100 个。我想做的是在点击特定测试结果时(通过索引页面)使用我的api生成从json结果请求的页面。巨大的期望是否只能生成 1 个可以在关闭时处理的 html?