У нас есть большие и разрозненные источники данных, включая oracle, db2, mysql. Мы также должны добавить несколько столбцов аудита в конце. Я наткнулся на следующий класс Java org.apache.sqoop.hive.HiveTypes. Я планирую создать простой интерпретатор, который принимает RDBMS DDL и выплескивает сценарий Hive DDL. Любые указатели на то, как я могу это достичь?Как конвертировать СУБД DDL в сценарий Hive DDL
ответ
Улей QL более или менее похож на нормальную СУБД РСУБД. Но есть определенные вещи, которых ему не хватает, и почему он не полностью следует ANSI SQL. Автоматического процесса для его преобразования нет.
Но вам нужно попробовать запустить SQL-запросы в Hive, и везде, где это происходит, вы должны изменить запрос в соответствии с улей.
Например, Hive принимает только условие равенства в качестве условия соединения, что не относится к РСУБД.
Для создания интерпретатора вы должны сначала указать общие различия между конструкцией запроса RDBMS и конструкцией Hive QL. Всякий раз, когда вы сталкиваетесь с конструкцией RDBMS, которая в соответствии с вашим списком будет нарушаться в улье, запрос будет восстановлен в соответствии с улей. Эта логика замены должна быть закодирована.