我在spark-sql
中有一个查询,在IN子句中有很多值:
select * from table where x in (<long list of values>)
运行此查询时,我从TransportException
中的MetastoreClient
获得了spark
。
x列是表的分区列。配置单元metastore在Oracle上。
in子句中可以有多少个值是否有硬性限制? 或者我是否可以将超时值设置得更高一些,以便使Metastore有更多的时间来回答。
答案 0 :(得分:0)
是的,您可以在IN子句中最多传递1000个值。 但是,您可以在IN子句中使用OR运算符,并将值列表切成多个1000个窗口。