Диалект Hive/SparkSQL для Hibernate/SpringbootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Диалект Hive/SparkSQL для Hibernate/Springboot

Сообщение Anonymous »

Изменить: оказывается, что эта ошибка, которую я получал, связана с Databricks, я неправильно указал ожидаемое тройное пространство имен (имя_каталога.имя_схемы.имя_таблицы). После того, как я это сделал и исправил соединение, создание собственного диалекта, как описано в ответе ниже, по-видимому, станет следующим шагом для того, чтобы возвращаемые данные хорошо работали с Hibernate и Spring.
Я у вас есть веб-приложение Springboot, которое в настоящее время подключается к базе данных MySQL. Я хотел бы изменить это соединение на SparkSQL с помощью драйвера JDBC Databrick.
После изменения сведений о соединении мое приложение может полностью запуститься и подключиться (или, по крайней мере, инициализировать пул соединений). ), но есть несколько вызовов спящего режима, которые происходят всякий раз, когда кто-то входит в систему, и все они терпят неудачу. Кажется, единственная причина, по которой они терпят неудачу, заключается в том, что в запрос автоматически вставляются одиночные обратные кавычки. SparkSQL, кажется, ненавидит их и выдает мне не найденное исключение:

Код: Выделить всё

Caused by: org.apache.spark.sql.catalyst.ExtendedAnalysisException: [TABLE_OR_VIEW_NOT_FOUND] The table or view `TABLE_NAME` cannot be found. Verify the spelling and correctness of the schema and catalog.
Я нашел этот вопрос от 2017 года, в котором говорилось, что в настоящее время не существует диалекта SparkSQL для Hibernate. И документы это подтверждают. Я пробовал другие диалекты, в том числе диалект Apache (apache derby), но ни один из них, похоже, не работает.
Вот свойства hibernate jpa, которые я сейчас использую:

Код: Выделить всё

jpa:
show-sql: true
hibernate:
ddlAuto: none
naming:
implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
properties:
hibernate:
dialect: org.hibernate.dialect.MySQLDialect
default_schema: schema
database: default
Может ли кто-нибудь дать какие-либо рекомендации по этому вопросу? Я между тем говорю, что в настоящее время это невозможно или что мне придется вырвать все мои запросы Hibernate для стандартных запросов JDBC. Но мне кажется, единственное, что мне нужно выяснить, это как заставить эти обратные кавычки не генерироваться в запросе.

Подробнее здесь: https://stackoverflow.com/questions/791 ... springboot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»