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

Hive 使用 Proton

最近更新时间2023.07.13 14:03:26

首次发布时间2023.05.17 14:27:32

1 概述说明

火山引擎 E-MapReduce(EMR)自 EMR-3.1.1(对应 Hadoop 3.x 和 Hive 3.x)、EMR-2.2.0(对应 Hadoop 2.x 和 Hive 2.x)开始支持 Proton SDK。本文描述了如何在火山 EMR 的 Hive,或在自建 Hadoop 集群的 Hive 中使用 Proton SDK 读写 TOS 数据。

2 火山 EMR

2.1 认证配置

火山引擎 EMR 认证配置详见:Hadoop 使用 Proton - 认证配置

3 自建 Hadoop 集群

3.1 配置 Hadoop 环境

根据不同 Proton 版本,下载对应的 Proton 包,详见:Hadoop 使用 Proton - 下载依赖,并配置 Hadoop 环境。

3.2 配置 Hive

有以下两种方法配置 Hive:

3.2.1 修改 hive-site.xml

增加如下配置:

<property>
   <name>hive.blobstore.optimizations.enabled</name>
   <value>true</value>
</property>

<property>
   <name>hive.blobstore.supported.schemes</name>
   <value>s3,s3a,s3n,tos</value>
</property>

<property>
   <name>hive.blobstore.use.blobstore.as.scratchdir</name>
   <value>false</value>
</property>

3.2.2 在 SQL 中设置

set hive.blobstore.optimizations.enabled=true;
set hive.blobstore.supported.schemes=s3,s3a,s3n,tos;
set hive.blobstore.use.blobstore.as.scratchdir=false;

4 使用 TOS

在创建 Hive 表的时候将 location 字段值设置成 TOS 地址,即可分析 TOS 的数据,例如:

CREATE EXTERNAL TABLE `palmplay_log_pv_csv`(  
  `meta_id` STRING,   
  `brand` STRING,   
  `channel` STRING,   
  `countrycode` STRING )  
PARTITIONED BY (dt String)  
LOCATION  
  'tos://您的tos bucket name/palmplay_log_pv_csv';