如何在Java中执行Hive命令或HiveQL

如何在Java中执行Hive命令或HiveQL,第1张

Java在1.5过后提供了ProcessBuilder根据运行时环境启动一个Process调用执行运行时环境下的命令或应用程序(1.5以前使用Runtime),关于ProcessBuilder请参考Java相关文档。调用代码如下:

String sql="show tablesselect * from test_tb limit 10"

List<String>command = new ArrayList<String>()

command.add("hive")

command.add("-e")

command.add(sql)

List<String>results = new ArrayList<String>()

ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command)

hiveProcess = hiveProcessBuilder.start()

BufferedReader br = new BufferedReader(new InputStreamReader(

hiveProcess.getInputStream()))

String data = null

while ((data = br.readLine()) != null) {

results.add(data)

}

其中command可以是其它Hive命令,不一定是HiveQL。

hive最终都会转化为mapreduce的job来运行。

用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是 Cli,Cli 启动的时候,会同时启动一个 hive 副本。Client 是 hive 的客户端,用户连接至 hive Server。

在启动 Client 模式的时候,需要指出 hive Server 所在节点,并且在该节点启动 hive Server。 WUI 是通过浏览器访问 hive。

扩展资料:

hive 并不适合那些需要高实时性的应用,例如,联机事务处理(OLTP)。hive 查询 *** 作过程严格遵守Hadoop MapReduce 的作业执行模型,hive 将用户的hiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上。

Hadoop 监控作业执行过程,然后返回作业执行结果给用户。hive 并非为联机事务处理而设计,hive 并不提供实时的查询和基于行级的数据更新 *** 作。hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

参考资料来源:百度百科-hive


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12173316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存