IN子句中的Spark SQL限制

时间:2019-07-12 07:36:08

标签: apache-spark hadoop hive apache-spark-sql hadoop2

我在spark-sql中有一个查询,在IN子句中有很多值:

select * from table where x in (<long list of values>)

运行此查询时,我从TransportException中的MetastoreClient获得了spark。 x列是表的分区列。配置单元metastore在Oracle上。

in子句中可以有多少个值是否有硬性限制? 或者我是否可以将超时值设置得更高一些,以便使Metastore有更多的时间来回答。

1 个答案:

答案 0 :(得分:0)

是的,您可以在IN子句中最多传递1000个值。 但是,您可以在IN子句中使用OR运算符,并将值列表切成多个1000个窗口。