I have a Dataframe userdf
as
val userdf = sparkSession.read.json(sparkContext.parallelize(Array("""[{"id" : 1,"name" : "user1"},{"id" : 2,"name" : "user2"}]"""))
)
scala> userdf.show
+---+-----+
| id| name|
+---+-----+
| 1|user1|
| 2|user2|
+---+-----+
I want to retrieve user with id === 1
and same I can achieve using code like
scala> userdf.filter($"id"===1).show
+---+-----+
| id| name|
+---+-----+
| 1|user1|
+---+-----+
What I want to achieve is like
val filter1 = $"id"===1
userdf.filter(filter1).show
These filters are fetch from configuration files and I am trying to achieve a more complex query using this building block, something like
userdf.filter(filter1 OR filter2).filter(filter3).show
where filter1
, filter2
, filter3
, AND
and OR
condition are fetched from configurations
Thanks