2016-03-28 8 views
0

Ich bin neu in Bienenstock. Ich möchte die Liste von Tabellen und zugehörigen Metadaten (wie Spalten, Anzahl von Zeilen usw.) in allen Datenbanken erfassen. Was ich suche, ist eine Art Skript, das ich weitergeben kann und jeder kann es ausführen und mir die Ausgabe zur Verfügung stellen, indem ich es in eine Datei schreibe.lesen Bienenstock Metadatenoptionen

Ein Ansatz besteht darin, ein mapreduce-Programm zu schreiben, das eine Verbindung mit der Struktur herstellt und diese Informationen abruft.

Andere Vorgehensweise besteht darin, irgendwie die Liste der Tabellen durchzulaufen und diese Informationen zu erhalten. Ich kenne show tables und describe table Befehle, aber nicht sicher, wie diese Befehle in einem Skript verwendet werden und wie dieses Skript ausgeführt werden kann.

Welchen Ansatz sollte ich wählen? Welche anderen Optionen/Ansätze sind verfügbar, um diese Aufgabe auszuführen? Danke für jede Hilfe. [Für ein RDBMS ich könnte dies tun, indem nur eine SQL-Abfrage auf den Systemkatalogtabellen zu schreiben.]

Antwort

0

Ich würde Spark, mapreduce oder HPL/SQL Schleife durch die Liste der Tabellen verwenden (wie Sie bereits erwähnt), und dann greifen die benötigten Daten mit verschiedenen show-Anweisungen. Ich würde zuerst in den HPL/SQL-Ansatz schauen, so dass es als irgendeine Hive-Abfrage ausgeführt werden kann, dann würde ich es mit Spark versuchen, wenn der erste Ansatz nicht funktionierte.

-- loop on the values displayed in show tables 
show tables; 
-- then execute tblproperties and describe to get the metadata you are after 
show tblproperties yourTableName; 
describe yourTableName; 
+0

Wie kann ich Schleife durch die Ausgabe von 'sh ow Tische? Wo führe ich dieses Skript aus? – stech

+0

Dies ist nur Pseudo-Code-Logik für das, was Sie brauchen, Programm, Art von nur ein Bienenstock Level-Ausgangspunkt für Sie. Ich würde in HPL/SQL gehen, die Sie in Hive ausführen würden. – Jared

0

Ich glaube, Sie den Stock Metastore konfigurieren müssen MYSQL oder Oracle zu verwenden, dann können Sie die SYS-Tabellen in MySQL oder Oracle-Datenbank abfragen und bekommen, was Sie want.By Standard-Hive verwendet Derby Datenbank

Siehe https://dzone.com/articles/how-configure-mysql-metastore

hoffe, das hilft

Verwandte Themen