2017-07-20 5 views
0

Ich habe eine externe Bienenstock-Tabelle oben auf einem Parkett-Datei. EXTERNE TISCH ERSTELLEN parquet_test LIKE avro_test GESPEICHERT ALS PARKPLATZORT 'hdfs: // myParquetFilesPath'; Ich möchte die Anzahl der Tabelle mit Shell-Skript abrufen.Hive-Abfrage in Shell-Skript

Ich habe versucht, mit dem Befehl folgende

myVar =$(hive -S -e " select count(*) from parquet_test;") 
echo $myVar 

Added -S hive im Silent-Modus laufen noch ich ganze Karte reduzieren log erhalten und in der meineVar Variable zu zählen. Wie man nur zählt.

Ich habe keinen Zugriff auf die Konfigurationsdatei, um die Protokollierungsstufe zu aktivieren oder zu deaktivieren. Gibt es einen anderen Weg?

Antwort

0

Endlich eine Arbeit gefunden. Zunächst löschte das Abfrageergebnis in eine Datei in HDFS und dann Antwort aus Datei lesen. Die Datei enthält nur das Ergebnis der Abfrage.

(hive -S -e " INSERT OVERWRITE LOCAL DIRECTORY '/home/test/result/' 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select count(*) from parquet_test;") 

Lesen Sie die Datei in eine Variable

Count var=$(hdfs dfs -tail /home/test/result/) 
echo $var 

Danke

-1
myVar=$(eval "hive -S -e 'select count(*) from parquet_test;' ") 

echo $myVar 
+1

Können Sie die Antwort näher erläutern? Nur eine Antwort zu geben, bietet eine Lösung, verhindert aber das richtige Lernen. :-) –

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/17482841) – Mayur

+0

@Mayur Nein, es ist nicht einmal ein Kommentar. Es ist nur ein bisschen Code. Aber wenn es ein wenig ausgearbeitet wäre, wie es von ihm vorgeschlagen wurde, könnte es eine Antwort sein. Sogar ein guter ;-) – TobiMcNamobi

Verwandte Themen