Wie kann ich den Hive-Client installieren, beeline
ohne das gesamte Hive / Hadoop-Ökosystem auf meinem Laptop installieren zu müssen?
Ich möchte es verwenden, um eine entfernte Hive-Datenbank abzufragen.
Wie kann ich den Hive-Client installieren, beeline
ohne das gesamte Hive / Hadoop-Ökosystem auf meinem Laptop installieren zu müssen?
Ich möchte es verwenden, um eine entfernte Hive-Datenbank abzufragen.
Antworten:
Es ist nicht erforderlich, beeline / hive zu installieren. Sie müssen lediglich die entsprechenden Gläser von Ihrem System sammeln, kopieren und in einem einzigen Ordner ablegen.
Angenommen, wir haben ein Quellsystem, in dem Sie eine Linie haben, und ein Zielsystem, in dem Sie eine Linie ausführen möchten.
Sammeln Sie auf dem Quellsystem die entsprechenden Gläser in einem Ordner. Der beste Weg, um die genauen Gläser zu identifizieren, ist die Verwendung der Option jvm:-verbose:class
Das heißt, Sie sollten in der Lage sein, einen java
Befehl auszugeben, der einen typischen Beeline-Befehlsaufruf auf dem Quellsystem repliziert.
Kopieren Sie diese Dateien dann in einen Ordner auf dem Zielsystem. cd
in diesen Ordner, um die -classpath
Referenz später einfach zu machen .
Ich benutze eine HDP 2.5 Hortonworks Distribution. Für mich funktioniert der folgende Aufruf auf dem Zielsystem:
java -Xmx1024m -classpath apache-log4j-extras-1.2.17.jar:avatica-1.8.0.2.5.0.0-1245.jar:calcite-core-1.2.0.2.5.0.0-1245.jar:calcite-linq4j-1.2.0.2.5.0.0-1245.jar:commons-cli-1.2.jar:commons-codec-1.4.jar:commons-collections-3.2.2.jar:commons-configuration-1.6.jar:commons-lang-2.6.jar:commons-logging-1.1.3.jar:curator-client-2.6.0.jar:curator-framework-2.6.0.jar:derby-10.10.2.0.jar:guava-14.0.1.jar:hadoop-annotations-2.7.3.2.5.0.0-1245.jar:hadoop-auth-2.7.3.2.5.0.0-1245.jar:hadoop-common-2.7.3.2.5.0.0-1245.jar:hadoop-mapreduce-client-core-2.7.3.2.5.0.0-1245.jar:hive-beeline-1.2.1000.2.5.0.0-1245.jar:hive-exec-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245-standalone.jar:jce.jar:jline-2.12.jar:jsse.jar:log4j-1.2.16.jar:rt.jar:slf4j-log4j12-1.7.10.jar:sunec.jar:sunjce_provider.jar:super-csv-2.2.0.jar:xercesImpl-2.9.1.jar -Dhdp.version=2.5.0.0-1245 -Djava.net.preferIPv4Stack=true -Dhdp.version=2.5.0.0-1245 -Dhadoop.log.dir=/home/userid -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/userid -Dhadoop.id.str=userid -Dhadoop.root.logger=INFO,console -Djava.library.path=:/home/userid -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.util.logging.config.file=/home/userid/parquet-logging.properties -Dlog4j.configuration=beeline-log4j.properties -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /home/userid/hive-beeline-1.2.1000.2.5.0.0-1245.jar org.apache.hive.beeline.BeeLine -n userid -p pass -u "jdbc:hive2://knox.company.com:8000/;ssl=true;transportMode=http;httpPath=gateway/tdcprd/hive"
Einige der Parameter sind wahrscheinlich nicht erforderlich, aber ich habe sie beibehalten, da dies auf dem Quellsystem der Fall ist. Sie sollten den Java-Aufruf des Quellsystems als Referenzmuster verwenden.