2016-04-26 7 views
0

Wir haben eine große und unterschiedliche Datenquellen einschließlich Oracle, DB2, MySQL. Wir müssen auch einige Audit-Spalten am Ende hinzufügen. Ich stieß auf die folgende Java-Klasse org.apache.sqoop.hive.HiveTypes. Ich plane, einen einfachen Interpreter zu erstellen, der RDBMS DDL akzeptiert und Hive DDL-Skript ausspuckt. Irgendwelche Hinweise, wie ich das erreichen kann?Wie konvertiere ich RDBMS DDL in Hive DDL-Skript

Antwort

0

Hive QL ist mehr oder weniger ähnlich zu normalen RDBMS DDL. Aber es gibt bestimmte Dinge, die fehlen und deshalb folgt es nicht vollständig ANSI SQL. Es gibt keinen automatisierten Prozess, um es zu konvertieren.

Aber Sie müssen versuchen, die SQL-Abfragen auf Hive ausführen und wo auch immer es verletzt, müssen Sie die Abfrage nach Hive ändern.

Zum Beispiel nimmt Hive nur Gleichheitsbedingung als Join-Bedingung, was in RDBMS nicht der Fall ist.

Um einen Interpreter selbst zu erstellen, müssen Sie zuerst die gemeinsamen Unterschiede zwischen RDBMS-Abfragekonstrukt und Hive-QL-Konstrukt auflisten. Immer wenn Sie auf ein RDBMS-Konstrukt stoßen, das gemäß Ihrer Liste in der Struktur verletzt wird, wird die Abfrage wie in der Struktur neu erstellt. Diese Ersatzlogik muss codiert sein.

Verwandte Themen