Comment installer le client Hive «Beeline»?

9

Comment puis-je installer le client hive beelinesans avoir à installer tout l'écosystème hive / hadoop sur mon ordinateur portable?

Je veux l'utiliser pour interroger une base de données Hive distante.

lucacerone
la source
Puis-je vous demander où vous téléchargez Beeline?
AB
@StefanoPalazzo le wiki ne vous guide pas vraiment à travers l'installation du client .. où puis-je le télécharger et comment l'installer?
lucacerone
1
Voilà la question. J'aime aussi savoir. :-)
Stefano Palazzo
@AB, il semble que vous devez télécharger la ruche complète pour accéder à beeline, par exemple mirrorservice.org/sites/ftp.apache.org/hive/hive-2.1.0/…
Chris Snow

Réponses:

2

Il n'est pas nécessaire d'installer beeline / hive. Tout ce que vous avez à faire est de collecter les pots appropriés de votre système et de les copier et de les placer dans un seul dossier.

Supposons que nous ayons un système source où vous avez beeline et un système cible où vous voulez exécuter beeline.

Sur le système source, collectez les fichiers JAR appropriés dans un dossier. La meilleure façon que j'ai trouvée pour identifier les pots exacts impliqués est d'utiliser l'option jvm:-verbose:class

C'est-à-dire que vous devriez pouvoir émettre une javacommande qui répliquera un appel de commande beeline typique sur le système source.

Copiez ensuite ces fichiers dans un dossier sur le système cible. cddans ce dossier pour -classpathsimplifier la référence ultérieurement.

J'utilise une distribution HDP 2.5 Hortonworks. Pour moi, l'invocation suivante sur le système cible fonctionne: 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"

Certains paramètres ne sont probablement pas nécessaires, mais je les ai conservés car c'est ainsi que cela se fait sur le système source. Vous devez utiliser l'invocation java du système source comme modèle de référence.

user55570
la source