最近更新时间:2023.08.02 14:36:25
首次发布时间:2022.05.26 14:18:32
Presto 为开源分布式查询分析引擎,支持 PB 级数据查询分析,支持多种数据源。本文介绍使用 Presto 查询 CloudFS 中的数据。
说明
目前 E-MapReduce 中 Presto 支持 Hive 元数据读取,因此在 Hive 中建表的时候,将数据存放至 CloudFS 即可。具体操作,可以参考使用 Hive 处理 CloudFS 中的数据。
说明
集群所有节点都要修改如下配置。
连接 E-MapReduce 集群,连接方式如下:
下载 CloudFS 的 SDK 包至 E-MapReduce 集群指定存储位置。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz
解压后将 SDK 目录下的cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar
文件复制到 Hadoop 的/hadoop/hdfs
目录下。
cp {Directory}/cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar /{Directory}/hadoop/hdfs/
配置core-site.xml
文件。
core-site.xml
文件:vim {hadoop_安装目录}/hadoop/conf/core-site.xml
core-site.xml
中添加配置:<property> <name>fs.defaultFS</name> <value>cfs://xxxx.cfs-cn-beijing.ivolces.com</value> <!-- 填写获取的挂载点地址 --> </property> <property> <name>fs.cfs.impl</name> <value>com.volcengine.cloudfs.fs.CfsFileSystem</value> </property> <property> <name>fs.AbstractFileSystem.cfs.impl</name> <value>com.volcengine.cloudfs.fs.CFS</value> </property> <property> <name>cfs.access.key</name> <value>AKxxxxxxxxxxx</value> <!-- 填写访问密钥ID --> </property> <property> <name>cfs.secret.key</name> <value>SKxxxxxxxxxxx</value> <!-- 填写私有访问密钥--> </property> <!-- 可选:如果使用的是 STS Token,需要填写 --> <property> <name>cfs.security.token</name> <value>STSTokenxxxxxxxx</value> </property> <!-- 可选:如果开启缓存加速,需要配置缓存加速接入的 VPC 的网段 --> <property> <name>cfs.client.network.segment</name> <value><VPC 网段,例如 192.168.0.0/16></value> </property>
下载 CloudFS SDK 并解压。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz。
将解压后 SDK 中的cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar
文件拷贝至Presto plugin
文件夹下。
cp {Directory}/cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar /{Directory}/presto/plugin/hive-hadoop2/
重启 Presto 服务。
说明
验证之前需在 Hive 中建立数据库,启动命令直接连接已创建数据库。
启动Presto-cli
。
presto-cli --user presto --server http://localhost:8084 --catalog hive --schema {Database name}
返回如下图信息,则表示启动成功。
启动成功后执行以下命令。
show tables;
返回数据库中表名,则表示 Presto-cli 配置成功。