ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

presto的使用

2022-01-12 17:04:27  阅读:201  来源: 互联网

标签:postgresql name presto 使用 server mysql 0.266


1.下载 presto-server 和 presto-cli
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.266.1/presto-server-0.266.1.tar.gz
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.266.1/presto-cli-0.266.1-executable.jar
2.解压安装

1.解压 presto-server-0.266.1.tar.gz

tar -zxvf presto-server-0.266.1.tar.gz

2.将 presto-cli-0.266.1-executable.jar 放到bin目录中并改名为 presto

mv presto-cli-0.266.1-executable.jar persto

赋予权限

chmod +x presto

3.在presto 的安装目录下 创建data目录

创建etc目录

mkdir etc

image

进入etc创建以下文件并添加内容:

node.properties:

node.environment=production

node.id=ffffffff-ffff-ffff-ffff-ffffffffffff-001

node.data-dir=/home/wl/presto-server-0.266.1/data

jvm.config:

-server

-Xmx4G

-XX:+UseG1GC

-XX:G1HeapRegionSize=32M

-XX:+UseGCOverheadLimit

config.properties:

coordinator=true

node-scheduler.include-coordinator=true

http-server.http.port=8080

query.max-memory=2GB

query.max-memory-per-node=1GB

query.max-total-memory-per-node=2GB

discovery-server.enabled=true

discovery.uri=http://wlwl:8080

log.properties:

com.facebook.presto=INFO

在etc下面创建一个 名称为catalog的文件夹

添加以下内容

connector.name=mysql

connection-url=jdbc:mysql://wlwl:3306

connection-user=root

connection-password=wl990922
3.启动
bin/launcher run

出现以下内容说明启动成功

image

访问wlwl:8080,查看是否能访问web界面

image

客户端启动

./presto --server wlwl:8080 --catalog mysql
4.常用语法

这里的 mysql 表示的数据库类型

# 展示模式 

SHOW SCHEMAS FROM mysql;

#展示数据库

SHOW TABLES FROM mysql.database_name;

#展示表中的字段

SHOW COLUMNS FROM mysql.database_name.table_name;

#查询表中数据

SELECT * FROM mysql.database_name.table_name;

#使用库

use mysql.presto;
5.添加hive到presto

catalog 文件夹下面创建一个 hive.properties 的文件,并添加以下内容

#连接器的名字,是固定的,hive-hadoop2

connector.name=hive-hadoop2

hive.metastore.uri=thrift://wlwl:9083

hive.config.resources=/home/wl/hadoop-3.3.1/etc/hadoop/core-site.xml,/home/wl/hadoop-3.3.1/etc/hadoop/hdfs-site.xml
6.添加potsgre到presto

安装一个 postgre

参考官网:https://www.postgresql.org/download/linux/redhat/

# Install the repository RPM:

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm



# Install PostgreSQL:

sudo yum install -y postgresql13-server



# Optionally initialize the database and enable automatic start:

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

sudo systemctl enable postgresql-13

sudo systemctl start postgresql-13

进入postgresql发现报以下错误

image

这个是因为postgresql是不允许使用root用户启动服务的,所以需要切换到 postgres

image

创建一个postgresql的properties

connector.name=postgresql

connection-url=jdbc:postgresql://127.0.0.1:5432

connection-user=postgres

connection-password=12345
7.多表联查

这里记录一个坑

image

当我想切换postgresql 提示 postgresql 不存在

这个是因为 我在 catalog 下面建 properties的时候建的是 postgre.properties ,presto读取不到,所以报错

image

1.在mysql中创建一个名称为emp的表,数据如下

image

2.在hive中创建一个名称为dep的表,数据如下

image

3.在postgre中创建一个名称为address的表,数据如下

image

使用 presto 跨数据源 多表联合查询员工信息

select e.id,e.name,d.dep_name,d.dep_address,p.address_name from emp e left join hive.default.dep d on e.dep_no=d.id left join postgresql.public.address p on p.address_id=e.add_id;

image

标签:postgresql,name,presto,使用,server,mysql,0.266
来源: https://www.cnblogs.com/wlstudy09/p/15793308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有