我想从配置单元中获取数据,这样:如果列表中有一个列值,则从配置单元中选择数据。
配置单元表中的示例数据如下:
Col1 | Col2 | Col3
-------+---------------
Joe | 32 | Place-1
Nancy | 28 | Place-2
Shalyn | 35 | Place-1
Andy | 20 | Place-3
我正在查询配置单元表:
val name = List("Sherley","Joe","Shalyan","Dan")
var dataFromHive = sqlCon.sql("select Col1,Col2,Col3 from default.NameInfo where Col1 in (${name})")
我知道我的查询是错误的,因为它的抛出错误。但我无法找到合适的替代品 where Col1 in (${name})
.
2条答案
按热度按时间y4ekin9u1#
将列表转换为字符串(在配置单元查询中使用正确的格式)
vcudknz32#
更好的办法是转化
name
到Dataframe并与dataFromHive
. 内部联接的作用与只过滤相交数据相同。尝试使用dataframeapi。它将使代码易于阅读。