Использовать коллекцию scala в запросе улья - PullRequest
0 голосов
/ 24 июня 2019

У меня есть коллекция массивов scala. Мне нужно получить доступ к значениям в этой коллекции из запроса улья. Может ли это быть достигнуто с помощью HiveContext.

1 Ответ

0 голосов
/ 25 июня 2019

Определите 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|
//+---+----+
...