Presto整合hive

最近更新时间:2021-03-11 23:16:29

查看PDF

1.在kmr集群所有节点Presto的/etc/presto/catalog目录下创建hive.properties,并加入以下内容:

connector.name=hive-hadoop2
#【host】 为存放元数据地址
hive.metastore.uri=thrift://【host】:9083
hive.config.resources=/usr/hdp/2.6.1.0-129/hadoop/etc/hadoop/core-site.xml,/usr/hdp/2.6.1.0-129/hadoop/etc/hadoop/hdfs-site.xml

2.在kmr集群所有节点Presto的/etc/jvm.config中加入hdfs用户名 -DHADOOP_USER_NAME=hdfs

3.在Ambari控制台界面中 Services>Presto>Service Actions 重启。

4.在Master-1启动Hive MetaStore。

nohup hive --service metastore -p 9083 >/dev/null &

5.切换到 presto-client 文件夹中,并且使用 Presto 连接 Hive。

/usr/lib/presto/bin/presto-cli --server kmr-4014e7ad-gn-bdf258f3-master-1-001.ksc.com:8285 --catalog hive

其中 --catalog 参数表示要操纵的数据库类型,执行成功后即可进入 Presto 的界面,并且直接进入指定的数据库。可以使用Hive 来查看数据库中的表。

presto> show catalogs;
 Catalog
---------
 hive
 mysql
 system
 tpch
(4 rows)
 
#查看所有数据库
presto> show SCHEMAS FROM hive;
       Schema
--------------------
 db2
 default
 information_schema
 test
 test1
(5 rows)
 
# 查看某个Hive数据库下的所有表
presto> show tables FROM hive.db2;
  Table
---------
 stu
 user_01
(2 rows)
 
#查看某个表中所有数据
presto> select * from hive.db2.stu;
 id |   name    | math | english | pe  | school  | class
----+-----------+------+---------+-----+---------+--------
  1 | zhangsan  |   99 |      98 | 100 | school1 | class1
  2 | lisi      |   59 |      89 |  79 | school1 | class1
  3 | wangwu    |   89 |      99 | 100 | school3 | class1
  4 | zhangsan2 |   99 |      98 | 100 | school1 | class1
  5 | lisi2     |   59 |      89 |  79 | school2 | class1
  6 | wangwu2   |   89 |      99 | 100 | school3 | class1
(6 rows)

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈