You need to enable JavaScript to run this app.
导航

使用 Presto 查询 CloudFS 中的数据

最近更新时间2023.08.02 14:36:25

首次发布时间2022.05.26 14:18:32

Presto 为开源分布式查询分析引擎,支持 PB 级数据查询分析,支持多种数据源。本文介绍使用 Presto 查询 CloudFS 中的数据。

说明

目前 E-MapReduce 中 Presto 支持 Hive 元数据读取,因此在 Hive 中建表的时候,将数据存放至 CloudFS 即可。具体操作,可以参考使用 Hive 处理 CloudFS 中的数据

前提条件

  • 开通大数据文件存储服务 CloudFS 并创建文件存储,获取挂载信息。详细操作请参考创建文件存储系统
  • 完成 E-MapReduce 中的集群创建。具体操作,请参见E-MapReduce 集群创建
  • 在 Hive 中创建数据库和表。

步骤一:配置 CloudFS 服务

说明

集群所有节点都要修改如下配置。

  1. 连接 E-MapReduce 集群,连接方式如下:

    • 使用本地终端 ssh 连接集群节点管理 master 的公网 ip。
    • 使用同区域下的云服务器实例连接集群节点管理 master 的内网 ip。
  2. 下载 CloudFS 的 SDK 包至 E-MapReduce 集群指定存储位置。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz

  3. 解压后将 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/
    
  4. 配置core-site.xml文件。

    1. 执行以下命令打开 Hadoop 安装目录下的core-site.xml文件:
      vim {hadoop_安装目录}/hadoop/conf/core-site.xml
    2. 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>

步骤二:配置 Presto

  1. 下载 CloudFS SDK 并解压。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz

  2. 将解压后 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/
    
  3. 重启 Presto 服务。

    1. 登录火山引擎 E-MapReduce 控制台。
    2. 在集群管理页面,找到目标 E-MapReduce 集群。
    3. 单击服务列表找到 Presto 服务。
    4. 单击列表页面右侧重启按钮,选择重启全部组件。重启后需重新连接集群。

步骤三:验证 Presto 配置

说明

验证之前需在 Hive 中建立数据库,启动命令直接连接已创建数据库。

  1. 启动Presto-cli

    presto-cli --user presto --server http://localhost:8084 --catalog hive --schema {Database name}
    

    返回如下图信息,则表示启动成功。
    图片

  2. 启动成功后执行以下命令。

    show tables;
    

    返回数据库中表名,则表示 Presto-cli 配置成功。
    图片