首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Great_Expectations在Apache中使用Spark :未识别的火花类型: string

如何使Great_Expectations在Apache中使用Spark :未识别的火花类型: string
EN

Stack Overflow用户
提问于 2021-06-17 13:02:18
回答 1查看 1.1K关注 0票数 1

我有一个,它是一个“string”类型字段。但是,Great_Expectations不识别字段类型。我已经导入了我认为必要的模块,但不确定为什么Great_Expectations不识别该字段

代码语言:javascript
复制
import great_expectations as ge
import great_expectations.dataset.sparkdf_dataset
from great_expectations.dataset.sparkdf_dataset import SparkDFDataset
from pyspark.sql.types import StructType, StructField, IntegerType, StringType, BooleanType

下面的代码将csv中的数据读取为

代码语言:javascript
复制
test = spark.read.csv('abfss://root@adlspretbiukadlsdev.dfs.core.windows.net/RAW/LANDING/customers.csv', inferSchema=True, header=True)

下面显示了模式:

代码语言:javascript
复制
test.printSchema()
Command executed in 2 sec 64 ms by carlton on 1:53:28 PM, 6/17/21
root
 |-- first_name: string (nullable = true)

我认为下面的代码行从上面的Spark创建Great_Expectation数据

代码语言:javascript
复制
test2 = ge.dataset.SparkDFDataset(test)

然后,我按照以下期望进行编码:

代码语言:javascript
复制
test2.expect_column_values_to_be_of_type(column='first_name', type_='string')

但是,我得到以下错误:

代码语言:javascript
复制
ValueError: Unrecognized spark type: string
Traceback (most recent call last):

  File "/home/trusted-service-user/cluster-env/env/lib/python3.6/site-packages/great_expectations/data_asset/util.py", line 80, in f
    return self.mthd(obj, *args, **kwargs)

不知道为什么Great_Expectations不能识别火花类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-17 13:20:41

您需要使用诸如StringTypeLongType等名称-与文档中指定的名称相同。应该是这样的:

代码语言:javascript
复制
test2.expect_column_values_to_be_of_type("first_name", "StringType")

见截图:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68019951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档