本文介绍Hive如何以EMR集群的方式处理OSS-HDFS服务中的数据。
前提条件
-
已创建EMR-3.42.0及以上版本或EMR-5.8.0及以上版本的集群。具体步骤,请参见创建集群。
-
已开通并授权访问OSS-HDFS服务。具体操作,请参见开通并授权访问OSS-HDFS服务。
操作步骤
-
登录EMR集群。
-
登录EMR on ECS控制台。
-
单击创建的EMR集群。
-
单击节点管理页签,然后单击节点组左侧的
。
-
单击ECS ID。在ECS实例页面,单击实例ID右侧的远程连接。
如果您希望使用SSH方式(SSH密钥对或SSH密码)在Windows和Linux环境中登录集群,请参见登录集群。
-
- 通过OSS-HDFS服务存储数据。创建数据库和表时,您可以通过以下两种方式指定OSS-HDFS服务路径,将数据库或表的数据保存到OSS-HDFS服务中。
- 方式一:在命令示例中指定OSS-HDFS服务路径
- 创建数据库时指定OSS-HDFS服务路径
CREATE DATABASE db_on_oss1 LOCATION 'oss://bucket_name.endpoint_name/path/to/db1';
- 创建表时指定OSS-HDFS服务路径
CREATE TABLE db2.table_on_oss ... LOCATION 'oss://bucket_name.endpoint_name/path/to/db2/tablepath';
- 创建数据库时指定OSS-HDFS服务路径
- 方式二:在配置文件中指定OSS-HDFS服务路径
您可以在Hive Metastore的hive-site.xml配置文件中设置hive.metastore.warehouse.dir到OSS-HDFS服务路径,然后重启Hive Metastore,后续创建的数据库和数据库下的表均默认存储于OSS-HDFS服务路径中。
配置示例如下:
hive.metastore.warehouse.dir oss://bucket_name.endpoint_name/path/to/warehouse
- 方式一:在命令示例中指定OSS-HDFS服务路径
- 为已有表添加分区。您可以为已创建的表添加分区,从而将其分成较小的存储单元。根据查询条件,只扫描满足条件的分区而避免全表扫描,从而显著提升查询性能。
- 命令格式
ALTER TABLE
ADD [IF NOT EXISTS] PARTITION [PARTITION PARTITION ...] LOCATION 'location';
参数说明如下:
参数 是否可选 说明 table_name 必选 待添加分区的表名称。 IF NOT EXISTS 可选 未指定IF NOT EXISTS时,如果同名的分区已存在,会执行失败并返回报错。 pt_spec 必选 新增的分区,格式为 (partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)
。其中,partition_col
表示分区字段,partition_col_value
表示分区值。分区字段不区分大小写,分区值区分大小写。location 必选 指定存储分区的OSS路径。 - 使用示例
以下示例用于为表sale_detail添加一个分区,用于存储2021年12月华东1(杭州)地域的销售记录,并将分区存储于指定的OSS路径。
ALTER TABLE sale_detail ADD IF NOT EXISTS PARTITION (sale_date='202112', region='hangzhou') LOCATION 'oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/path/2021/';
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠转转请注明出处:https://www.yunxiaoer.com/157680.html
赞 (0)阿里云对象存储OSSHBase以EMR集群的方式使用OSS-HDFS服务作为底层存储-云淘科技上一篇 2023年12月10日 上午1:04阿里云对象存储OSSPresto以EMR集群的方式查询OSS-HDFS服务中的数据-云淘科技下一篇 2023年12月10日详情页2本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。 - 使用示例
- 命令格式