presto从入门到入门

hbtszyt · · 3122 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Presto使用Catalog、Schema和Table这3层结构来管理数据。

---- Catalog:就是数据源。Hive是数据源,Mysql也是数据源,Hive 和Mysql都是数据源类型,可以连接多个Hive和多个Mysql,每个连接都有一个名字。一个Catalog可以包含多个Schema,大家可以通过show catalogs 命令看到Presto连接的所有数据源。

---- Schema:相当于一个数据库实例,一个Schema包含多张数据表。show schemas from 'catalog_name'可列出catalog_name下的所有schema。

---- Table:数据表,与一般意义上的数据库表相同。show tables from 'catalog_name.schema_name'可查看'catalog_name.schema_name'下的所有表。

在Presto中定位一张表,一般是catalog为根,例如:一张表的全称为 hive.test_data.test,标识 hive(catalog)下的 test_data(schema)中test表。

可以简理解为:数据源的大类.数据库.数据表。---------------------本文来自 帝都-小帅 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/cakexuexi/article/details/80820170?utm_source=copy


Presto接入方式

Presto的接入方式有多种:presto-cli,pyhive,jdbc,http,golang,SQLAlchemy,PHP等,其中presto-cli是Presto官方提供的,下面以presto-cli为例展开说明(自行下载)。

以连接hive数据源为例,在电脑终端输入:./presto-cli.jar --server presto.xxx-apps.com:9200 --catalog hive --user xxxx --source 'pf=adhoc;client=cli'就可以进入presto终端界面。

先解释下各参数的含义:

--server 是presto服务地址;

--catalog 是默认使用哪个数据源,后面也可以切换,如果想连接mysql数据源,使用mysql数据源名称即可;

--user 是用户名;

--source 是代表查询来源,source设置格式为key=value形式(英文分号分割); 例如个人从command line查询应设置为pf=adhoc;client=cli。

进入终端后:

查看数据源: show catalogs;

查看数据库实例:show schemas;---------------------本文来自 帝都-小帅 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/cakexuexi/article/details/80820170?utm_source=copy


问答:

1.使用场景?

-mysql跨数据库查询;-数仓的表数据查询(数据分析) ...

2.为什么presto查询速度比Hive快?

presto是常驻任务,接受请求立即执行,全内存并行计算;hive需要用yarn做资源调度,接受查询需要先申请资源,启动进程,并且中间结果会经过磁盘。---------------------本文来自 帝都-小帅 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/cakexuexi/article/details/80820170?utm_source=copy


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:hbtszyt

查看原文:presto从入门到入门

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3122 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传