Como instalo o cliente Hive "Beeline"?

9

Como posso instalar o cliente hive beelinesem ter que instalar todo o ecossistema hive / hadoop no meu laptop?

Eu quero usá-lo para consultar um banco de dados remoto do Hive.

lucacerona
fonte
Posso perguntar onde você baixa o Beeline?
AB
@StefanoPalazzo, o wiki realmente não o guia na instalação do cliente. Onde posso baixá-lo e como instalá-lo?
Lucacerone
11
Essa é a questão. Eu também gosto de saber. :-)
Stefano Palazzo
@AB parece que você tem que baixar a colmeia completa para ter acesso ao caminho mais curto, por exemplo mirrorservice.org/sites/ftp.apache.org/hive/hive-2.1.0/...
Chris Neve

Respostas:

2

Não é necessário instalar o beeline / hive. Tudo o que você precisa fazer é coletar os frascos relevantes do seu sistema, copiá-los e colocá-los em uma única pasta.

Suponha que tenhamos um sistema de origem no qual você esteja em linha reta e um sistema de destino em que você deseja executá-la.

No sistema de origem, colete os frascos relevantes em uma pasta. A melhor maneira que encontrei para identificar os frascos exatos envolvidos é usar a opção jvm:-verbose:class

Ou seja, você poderá emitir um javacomando que replicará uma chamada típica de comando do beeline no sistema de origem.

Em seguida, copie esses arquivos em uma pasta no sistema de destino. cdpara essa pasta para -classpathsimplificar a referência posteriormente.

Eu uso uma distro HDP 2.5 Hortonworks. Para mim, a seguinte invocação no sistema de destino funciona: 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"

Alguns dos parâmetros provavelmente não são necessários, mas eu os mantive porque é assim que é feito no sistema de origem. Você deve usar a chamada java do sistema de origem como um padrão de referência.

user55570
fonte