tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

连接器

PDF
聚焦模式
字号
最后更新时间: 2021-07-09 11:08:46
Presto 是由Facebook 开发的一个分布式 SQL 查询引擎,被设计为用来专门进行高速、实时的数据分析,适用于交互式分析查询,数据量支持 GB 到 PB 字节。支持标准的 ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。采用 Java 实现。Presto 的数据源包括 Hive、HBase、关系数据库,甚至专有数据存储。其架构图如下所示:


Presto 是一个运行在多台服务器上的分布式系统,采用了主从(Master-Slave)架构,包括一个主节点 Coordinator 和多个从节点 Worker。客户端 Presto CLI 负责提交查询到 Coordinator 节点;Coordinator 节点负责解析 SQL 语句、生成查询执行计划、管理 Worker 节点等;Worker 节点负责实际执行查询任务。
EMR 中 Presto 组件预置了 Hive、Mysql 和 Kafka 等连接器,本节将以 Hive 连接器为例说明 Presto 读取 Hive 的表信息进行查询的使用,EMR 集群机器配置了 presto-client 的相关环境变量,可直接切换 Hadoop 用户并使用 Presto 客户端工具。

1. 开发准备

确认您已开通腾讯云,并且创建了一个 EMR 集群。在创建 EMR 集群的时候需要在软件配置界面选择 Presto 组件。
Presto 等相关软件安装在路径 EMR 云服务器的/usr/local/service/路径下。

2. 使用连接器操作 Hive

首先需要登录 EMR 集群中的任意机器,最好是登录到 Master 节点。登录 EMR 的方式请参考 登录 Linux 实例。这里我们可以选择使用 WebShell 登录。单击对应云服务器右侧的登录,进入登录界面,用户名默认为 root,密码为创建 EMR 时用户自己输入的密码。输入正确后,即可进入命令行界面。
在 EMR 命令行先使用以下指令切换到 Hadoop 用户,并进入 Presto 文件夹:
[root@172 ~]# su hadoop
[hadoop@172 ~]# cd /usr/local/service/presto
etc/config.properties配置文件中查看 uri 的值:
[hadoop@172 presto]$ vim etc/config.properties
http-server.http.port=$port
discovery.uri=http://$host:$port
其中 $host 为您的 host 地址;$port 为您的端口号。然后切换到 presto-client 文件夹中,并且使用 Presto 连接 Hive:
[hadoop@172 presto]# cd /usr/local/service/presto-client
[hadoop@172 presto-client]$ ./presto --server $host:$port --catalog hive --schema default
其中 --catalog 参数表示要操纵的数据库类型,--schema 表示数据库名,这里进入的是默认的 default 数据库。更多的参数信息,可以通过命令presto –h来查看,或者查看 官方文档
执行成功后即可进入 Presto 的界面,并且直接进入指定的数据库。可以使用 Hive-SQL 来查看 Hive 数据库中的表
presto:default> show tables;
Table
---------------
hive_from_cos
test
(2 rows)

Query 20180702_140619_00006_c4qzg, FINISHED, 2 nodes
Splits: 2 total, 2 done (100.00%)
0:00 [3 rows, 86B] [17 rows/s, 508B/s]
其中表 hive_from_cos 是在 Hive 开发指南中建立的表。 更多 Presto 操作请查看 官方文档

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈