Ich bin neu in Hive und möchte wissen, ob es eine Möglichkeit gibt, Daten in eine Hive-Tabelle einzufügen, wie wir es in SQL tun. Ich möchte meine Daten in Hive wie folgt einfügen
INSERT INTO tablename VALUES (value1,value2..)
Ich habe gelesen, dass man die Daten aus einer Datei in die Hive-Tabelle laden kann oder Daten aus einer Tabelle in die Hive-Tabelle importieren kann, aber gibt es eine Möglichkeit, die Daten wie in SQL anzuhängen?
Nein. Die Syntax "INSERT INTO tablename VALUES (x,y,z)" wird derzeit in Hive nicht unterstützt.
Sie können insert into nicht verwenden, um einen einzelnen Datensatz einzufügen. Das wird von Hive nicht unterstützt. Sie können alle neuen Datensätze, die Sie einfügen möchten, in einer Datei speichern und diese Datei in eine temporäre Tabelle in Hive laden. Dann fügen Sie mit dem Befehl insert overwrite..select diese Zeilen in eine neue Partition Ihrer Hive-Haupttabelle ein. Die Einschränkung hierbei ist, dass Ihre Haupttabelle bereits partitioniert sein muss. Wenn Sie keine Partitionierung verwenden, wird Ihre gesamte Tabelle durch diese neuen Datensätze ersetzt.
Ich denke, in solchen Szenarien sollten Sie HBASE verwenden, das diese Art von Einfügung erleichtert, aber keine SQL-Abfragesprache bietet. Sie müssen die Java-API von HBASE verwenden, wie z.B. die put-Methode, um diese Art von Einfügung durchzuführen. Außerdem ist HBASE eine spaltenorientierte No-Sql-Datenbank.