求解:hive查询和使用beeline连接hive后查询,它们有什么区别

muzzlee 2016-09-22 10:58:22
RT:当hive查询的时候可以有数据,但是使用beeline连接hive后,查询显示没有数据,这是个什么情况?它们的处理流程有什么区别?
...全文
1271 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
海会圣贤 2016-10-06
  • 打赏
  • 举报
回复
引用 2 楼 sinodzh 的回复:
beeline查询的时候,如果没开启客户端代理,就连接不上metastore,就查不到东西的,可以在安装了hive元数据的服务器上使用beeline查
对,检查一下hive-site.xml有没有配好jdbc, 修改hive-site.xml

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
sinodzh 2016-09-29
  • 打赏
  • 举报
回复
beeline查询的时候,如果没开启客户端代理,就连接不上metastore,就查不到东西的,可以在安装了hive元数据的服务器上使用beeline查
_nMaple_ 2016-09-24
  • 打赏
  • 举报
回复
运行hive会自动运行一个RunJar进程,我记得这个进程是提供thrift的RPC的,就是metastore服务(不太记得清楚了,感谢知道的路过大神指教)。而Beeline不会运行这个进程,也就是说beeline是一个纯粹的客户端。 再者,hive是没有beeline出现之前的一个客户端,由于thrift自身的缘故,不支持多线程操作,所以只能链接一个客户端,由此当不是手动开启了metastore而是使用了hive客户端,则这个客户端直接独占thrift。这个hive客户端在后来弃用了(具体版本查查,应该也比较早了),出现了beeline客户端,而且hive的metastore服务器也重写了,出现了现在熟知的hiveserver2,这个服务器是支持多线程的,可以接多个客户端。 顺便提一句,目前hive这个执行脚本内部也是开启的hiveserver2,不再使用hiveserver1了,在一些比较早的版本就已经弃用。

20,809

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧