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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)