我有一个scala数组集合。我需要从配置单元查询访问此集合中的值。可以使用HiveContext来实现。
答案 0 :(得分:0)
如果要在配置单元查询中使用,请将 collection
定义为 string
:
Example:
val df=Seq((1,"a"),(2,"b"),(3,"c")).toDF("id","name")
spark.sql("select * from tmp").show()
df.createOrReplaceTempView("tmp")
spark.sql("select * from tmp").show()
val st=""""a","b""""
spark.sql(s"select * from tmp where name in ($st)").show()
//Output:
//+---+----+
//| id|name|
//+---+----+
//| 1| a|
//| 2| b|
//+---+----+
定义集合(如果您使用的是 dataframe api:
Example:
val st_list=List("a","b")
df.filter('name.isin(st_list:_*)).show()
//output:
//+---+----+
//| id|name|
//+---+----+
//| 1| a|
//| 2| b|
//+---+----+