Comments (4)
Gautam, thanks a lot for bringing this to our attention and apologies for the delay.
First of all, Deequ supports both Spark 2.4 as well as Scala 2.11.12.
However, I was able to reproduce the issue you just described. While I don't have a complete explanation for the observed behavior, it seems to come down to the way Zeppelin is handling external dependencies. I reproduced the error by adding Deequ as a dependency via the Zeppelin UI by adding the artifact com.amazon.deequ:deequ:1.0.1
as dependency in the UI via Settings - Interpreter - spark - edit. Subsequent import of com.amazon.deequ.VerificationSuite
(or for what it's worth any class, for example also org.apache.spark.sql.DataFrame
) leads to error message you posted previously.
The positive news is that I was able to run Deequ in an identical setting (EMR 5.23.0, Spark 2.4, Zeppelin 0.8.1, Scala 2.11.12) by declaring the dependency on Deequ within the notebook itself in code. To do this, start with a fresh Zeppelin instance (i.e. without adding the dependency via the UI), and in a new notebook execute the following code before anything else:
%dep
z.load("com.amazon.deequ:deequ:1.0.1")
followed by your code using Deequ, e.g.
case class Item(...)
val rdd = spark.sparkContext.parallelize(...)
val data = spark.createDataFrame(rdd)
import com.amazon.deequ.VerificationSuite
import com.amazon.deequ.checks.{Check, CheckLevel}
val verificationResult = VerificationSuite().onData(data).addCheck(....).run()
This gives you a working environment for Deequ. As this approach works, I suspect the original issue to be an issue with Zeppelin. Since we have a workaround using the %dep
directive, I will close this issue. Please reopen it in case you encounter problems or the workaround does not work for you.
from deequ.
Hi Gautam, this looks more like an error related to Scala. Which Scala version are you using?
from deequ.
I'm using scala 2.11.12
from deequ.
It seems this is indeed a problem with Spark 2.4. Thanks for pointing this out, we will look into the problem.
from deequ.
Related Issues (20)
- Compliance calculation result HOT 1
- numerical statistical indicators have lost precision
- [FEATURE] Supporing Aggregation metrics for a group
- [FEATURE] Filter condition is ignored when filtering records based on row-level checks HOT 5
- Anomaly checks when fails
- containsCreditCardNumber analyser constraint doesnt support for JCB credit card
- Performance impact when trying to generate profiling report for more than 200 columns HOT 2
- Is AggregateMatch type check supported in the library? HOT 1
- [FEATURE] Cross-building via Mill HOT 5
- How to use Deequ to implement a custom return result set and return the correct and incorrect number of each check result
- Java null pointer issue , while creating sparksession , with deequ jar
- [BUG] Spark 3.4 and Deequ breeze version conflict HOT 1
- [FEATURE] Can we enhance `VerificationSuite` to supports more than one Dataframe?
- Custom user analyzers
- Support for Custom SQL Execution in Deequ Library
- Question: DQ over time
- [FEATURE] Extend RatioOfSums to support other aggregations
- [FEATURE] Support Wilson Score Interval for RetainCompletenessRule
- [BUG] Row-level filtering marking the records as pass when null values are present in the column
- Why is `Distance` not an analyzer?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deequ.