开发者社区 问答 正文

E-MapReducePresto 使用说明是什么?


2.0.0 以上版本支持 presto,选择支持presto 的镜像并勾选 presto 软件即可在 E-MapReduce 中使用 presto。
集群创建后,登录 master,presto 软件被安装在 /usr/lib/presto-current 目录,可以 jps 看到PrestoServer 进程。
presto 服务进程分为 coordinator 和 worker,master 上(HA 集群为 hostname 以emr-header-1 开头的master 节点)启动 coordinator,core 节点启动 worker 进程。服务进程的配置在/usr/lib/presto-current/etc 目录下,其中 coordinator 使用coordinator-config.properties,worker 使用 worker-config.preperties,其他配置文件公用。web端口设置为 9090。
presto 服务默认设置了 Hive 的支持,连接集群 hive 的 metastore,可以读取 Hive 的表信息,进行查询。集群预装了presto cli,可以直接执行

  1. presto --server localhost: 9090 --catalog hive --schema default --user hadoop --execute "show tables"

查看 Hive 的表。需要注意同步 Hive 表会有几秒的延时。

展开
收起
nicenelly 2017-10-30 14:46:02 1647 分享 版权
阿里云 AI 助理回答

您提到的是在阿里云E-MapReduce服务中使用Presto进行大数据查询的场景。E-MapReduce是阿里云提供的一种基于Hadoop、Spark等开源大数据组件的一站式大数据处理分析服务,它简化了大数据集群的搭建和管理过程,让用户能够更专注于数据处理和分析任务本身。

针对您的描述,这里有几个关键点的补充说明:

  1. Presto镜像选择与安装:在创建E-MapReduce集群时,确保选择一个支持Presto的镜像版本(2.0.0以上),这样系统会在集群创建过程中自动部署Presto。Presto会被安装到/usr/lib/presto-current目录下,并且会自动启动Presto的Coordinator和Worker进程。Coordinator负责协调查询计划,而Worker则执行实际的数据处理工作。

  2. 进程与配置:正如您所述,Coordinator通常运行在主节点(master节点,如果是HA集群,则是emr-header-1开头的节点)上,Worker进程则运行在core节点上。Presto的配置文件位于/usr/lib/presto-current/etc目录下,包括coordinator-config.properties用于Coordinator的配置,以及worker-config.properties用于Worker的配置。所有节点共享其他通用配置文件。Web UI默认监听端口为9090,便于监控和管理。

  3. Hive集成:Presto在E-MapReduce集群中默认集成了对Hive的支持,这意味着它可以无缝访问Hive Metastore中的元数据,直接查询Hive表。这对于那些已经建立了Hive数据仓库的用户来说非常方便,因为不需要额外的数据迁移或适配工作。

  4. Presto CLI使用:您提供的命令示例展示了如何使用Presto CLI来查询Hive中的表信息。通过指定服务器地址(localhost:9090)、catalog(hive)、schema(default)、用户名(hadoop)以及执行的SQL语句(展示所有表),用户可以直接在命令行界面交互式地查询数据。需要注意的是,由于元数据同步可能存在延时,刚创建或修改的Hive表可能不会立即在Presto中可见。

综上所述,阿里云E-MapReduce服务通过预装并配置好的Presto环境,极大地简化了大数据查询和分析的流程,特别是对于需要跨多种数据源(如Hive)进行即席查询的场景提供了高效便捷的解决方案。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答