Assuming the list of values in the “IN” clause is small, you could try using

sparkSqlContext.sql(select * from mytable where key = 1 and ( (X,Y) = (1,2) OR 
(X,Y) = (3,4) )

Another solution could be to load the possible values for X & Y into a table 
and then using this table in the sub-query;

Table coordinates (
Integer X,
Integer Y
)

sparkSqlContext.sql(select * from mytable where key = 1 and (X,Y) IN (select X, 
Y from coordinates))

From: onmstester onmstester <onmstes...@zoho.com>
Sent: Wednesday, May 23, 2018 10:33 AM
To: user <user@spark.apache.org>
Subject: spark sql in-clause problem

I'm reading from this table in cassandra:
Table mytable (
Integer Key,
Integer X,
Interger Y

Using:
sparkSqlContext.sql(select * from mytable where key = 1 and (X,Y) in 
((1,2),(3,4)))

Encountered error:

StructType(StructField((X,IntegerType,true),StructField((Y,IntegerType,true)) 
!= 
StructType(StructField((X,IntegerType,false),StructField((Y,IntegerType,false))



Sent using Zoho 
Mail<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.zoho.com%2Fmail%2F&data=01%7C01%7Cshiva.vallabhaneni%40tavant.com%7C265fec50a27a40bac0fd08d5c06a75be%7Cc6c1e9da5d0c4f8f9a023c67206efbd6%7C0&sdata=J1X8iT4xh31pLX0VHPUmFsJTQCDXXskxI9oACy7IhnY%3D&reserved=0>


________________________________
Any comments or statements made in this email are not necessarily those of 
Tavant Technologies. The information transmitted is intended only for the 
person or entity to which it is addressed and may contain confidential and/or 
privileged material. If you have received this in error, please contact the 
sender and delete the material from any computer. All emails sent from or to 
Tavant Technologies may be subject to our monitoring procedures.

Reply via email to