Может ли кто-нибудь устранить ошибку в базах данных Spark

#sql #apache-spark #databricks

Вопрос:

Мой SQL-запрос:

 SELECT Incident Number FROM fireIncidents where Incident Date='04/04/2016'
 

Ошибка в инструкции SQL:

Исключение синтаксического анализа: несоответствие входных данных ‘Дата’ ожидание {, ‘;’}(строка 1, поз 57)

Комментарии:

1. Я не эксперт по базам данных, но должен ли формат даты быть: 2021-04-04 ?

2. Спасибо. Это сработало 🙂

Ответ №1:

У вас есть пробел в Incident Date колонке.

Если вы хотите, чтобы spark знал, что в столбце есть место, используйте символ » в начале и в конце col.

То же Incident Number , что и кол.

 SELECT `Incident Number` FROM fireIncidents where `Incident Date`='04/04/2016'
 

Если ваш Incident Date col является датой, вы можете перевести его в формат spark, используя

 select `Incident Date`, to_date(`Incident Date`, 'dd/MM/yyyy') FROM fireIncidents""").show()
 

что дает

  ------------- ---------------------------------- 
|Incident Date|to_date(Incident Date, dd/MM/yyyy)|
 ------------- ---------------------------------- 
|   04/04/2016|                        2016-04-04|
|   04/04/2016|                        2016-04-04|
|   04/04/2016|                        2016-04-04|
 ------------- ----------------------------------