(44)Presto 命令行 Client 安装

2024-01-22 23:08

本文主要是介绍(44)Presto 命令行 Client 安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 命令行 Client 安装
1 )下载 Presto 的客户端
https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.196/presto-cli-0.196-
executable.jar
2 )将 presto-cli-0.196-executable.jar 上传到 hadoop102 /opt/module/presto 文件夹下
3 )修改文件名称
[atguigu@hadoop102 presto]$ mv presto-cli-0.196-executable.jar
prestocli
4 )增加执行权限
[atguigu@hadoop102 presto]$ chmod +x prestocli
5 )启动 prestocli
[atguigu@hadoop102 presto]$ ./prestocli --server hadoop102:8881
--catalog hive --schema default
6 Presto 命令行操作
Presto 的命令行操作,相当于 Hive 命令行操作。每个表必须要加上 schema
例如:
select * from schema.table limit 100
2.可视化 Client 安装
1 )将 yanagishima-18.0.zip 上传到 hadoop102 /opt/module 目录
2 )解压缩 yanagishima
[atguigu@hadoop102 module]$ unzip yanagishima-18.0.zip
cd yanagishima-18.0
3 )进入到 /opt/module/yanagishima-18.0/conf 文件夹,编写 yanagishima.properties 配置
[atguigu@hadoop102 conf]$ vim yanagishima.properties
添加如下内容
jetty.port=7080
presto.datasources=atguigu-presto
presto.coordinator.server.atguigu-presto=http://hadoop102:8881
catalog.atguigu-presto=hive
schema.atguigu-presto=default
sql.query.engines=presto
4 )在 /opt/module/yanagishima-18.0 路径下启动 yanagishima
[atguigu@hadoop102 yanagishima-18.0]$
nohup bin/yanagishima-start.sh >y.log 2>&1 &
5 )启动 web 页面
http://hadoop102:7080
看到界面,进行查询了。
6 )查看表结构

 

这里有个 Tree View ,可以查看所有表的结构,包括 Schema 、表、字段等。
比如执行 select * from hive.dw_weather.tmp_news_click limit 10 ,这个句子里 Hive 这个
词可以删掉,是上面配置的 Catalog

 

每个表后面都有个复制键,点一下会复制完整的表名,然后再上面框里面输入 sql 语句,
ctrl+enter 键执行显示结果

 

3 Presto 优化之数据存储
1.3.1 合理设置分区
Hive 类似, Presto 会根据元数据信息读取分区数据,合理的分区能减少 Presto 数据
读取量,提升查询性能。
1.3.2 使用列式存储
Presto ORC 文件读取做了特定优化,因此在 Hive 中创建 Presto 使用的表时,建议采
ORC 格式存储。相对于 Parquet Presto ORC 支持更好。
1.3.3 使用压缩
数据压缩可以减少节点间数据传输对 IO 带宽压力,对于即席查询需要快速解压,建议
采用 Snappy 压缩。
Presto 优化之查询 SQL
1.4.1 只选择使用的字段
由于采用列式存储,选择需要的字段可加快字段的读取、减少数据量。避免采用 * 读取
所有字段。

 

1.4.2 过滤条件必须加上分区字段
对于有分区的表, where 语句中优先使用分区字段进行过滤。 acct_day 是分区字段,
visit_time 是具体访问时间。

 

1.4.3 Group By 语句优化
合理安排 Group by 语句中字段顺序对性能有一定提升。将 Group By 语句中字段按照每
个字段 distinct 数据多少进行降序排列。

 1.4.4 Order by 时使用 Limit

Order by 需要扫描数据到单个 worker 节点进行排序,导致单个 worker 需要大量内存。
如果是查询 Top N 或者 Bottom N ,使用 limit 可减少排序计算和内存压力。

 

1.4.5 使用 Join 语句时将大表放在左边
Presto join 的默认算法是 broadcast join ,即将 join 左边的表分割到多个 worker ,然后
join 右边的表数据整个复制一份发送到每个 worker 进行计算。如果右边的表数据量太大,
则可能会报内存溢出错误。

 

1.5 注意事项
1.5.1 字段名引用
避免和关键字冲突: MySQL 对字段加反引号 ` Presto 对字段加 双引号分割
当然,如果字段名称不是关键字,可以不加这个双引号。
1.5.2 时间函数
对于 Timestamp ,需要进行比较的时候,需要添加 Timestamp 关键字,而 MySQL 中对
Timestamp 可以直接进行比较。
/*MySQL 的写法 */

1.5.3 不支持 INSERT OVERWRITE 语法
Presto 中不支持 insert overwrite 语法,只能先 delete ,然后 insert into
1.5.4 PARQUET 格式
Presto 目前支持 Parquet 格式,支持查询,但不支持 insert

这篇关于(44)Presto 命令行 Client 安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/634537

相关文章

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语