Я пытаюсь запросить таблицу, выбирая только те случаи, которые соответствуют определенному условию. Это запрос, вызываемый из Beeline, внутри R-скрипта. Проблема в том, что поле, которое должно соответствовать этому условию, имеет зарезервированное слово в качестве имени столбца: «таблица».
Всякий раз, когда я запускаю это в кластере AWS-EMR:
ВЫБЕРИТЕ... ИЗ... ГДЕ `таблица` = 'что-то' И год = 2018
Я получаю следующую ошибку:
bash: таблица: команда не найдена
Подключение к jdbc:hive2://localhost:10000
Подключено к: Apache Hive (версия 2.3.2-amzn-0)
Драйвер: Hive JDBC (версия 2.3.2-amzn-0)
Изоляция транзакции: TRANSACTION_REPEATABLE_READ
. . . . . . . . . . . . . . . . Ошибка: ошибка при компиляции оператора: FAILED: строка ParseException 1:242 не может распознать ввод рядом с '=' ''something'' 'and' в спецификации выражения (state=42000, code=40000)
Закрытие: 0: jdbc:hive2://localhost:10000
Выходное значение: 1
Оба блока, выделенные жирным шрифтом, должны быть закреплены. Обратите внимание, что ключевое слово «таблица» уже экранировано обратными кавычками.
Я искал в Интернете, но до сих пор не могу найти подходящее решение. Любая помощь будет оценена по достоинству.
bash
пытается разобрать SQL?!?!? - person Samson Scharfrichter   schedule 10.08.2018\`table\`
или, может быть,\\`table\\`
- person Samson Scharfrichter   schedule 12.08.2018RJDBC
для запуска запросов Hive прямо из R. - person Samson Scharfrichter   schedule 12.08.2018