Блоки данных: вставка аргумента в предложение LIKE запроса в ячейке% sql - PullRequest
0 голосов
/ 01 октября 2019

В записной книжке Databricks у меня есть виджет, который позволяет установить значение для аргумента kw. Мне нужно использовать это значение в запросе как часть предложения LIKE. Фрагмент ниже работает, но ничего не возвращает (даже когда должен).

%sql

SELECT *
FROM table 
WHERE keyword LIKE '%getArgument("kw")%'

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Это работает:

%sql

SELECT *
FROM table 
WHERE keyword LIKE '%$kw%'
0 голосов
/ 02 октября 2019

Я не знаю, что представляет «kw», но я думаю, что это должно быть:

sqlContext.sql("SELECT * FROM SomeTable  WHERE SomeField LIKE CONCAT('%', kw, '%')")

Используйте соответствующие библиотеки:

import org.apache.spark.sql.hive.HiveContext
val sqlContext = new HiveContext(sc) // Make sure you use HiveContext
import sqlContext.implicits._

sqlContext.sql("SELECT * FROM SomeTable  WHERE SomeField LIKE CONCAT('%', kw, '%')")
...