MAPREDUCE服务 MRS-建立Hive表分区提升查询效率:操作步骤
操作步骤
- 以root用户登录已安装Hive客户端的节点。
- 执行以下命令,进入客户端安装目录,例如“/opt/client”。
cd /opt/client
- 执行source bigdata_env命令,配置客户端环境变量。
- 在客户端中执行如下命令,执行登录操作。
kinit 用户名
- 执行以下命令登录Hive客户端。
beeline
- 指定静态分区或者动态分区。
- 静态分区:
静态分区是手动输入分区名称,在创建表时使用关键字PARTITIONED BY指定分区列名及数据类型。应用开发时,使用ALTER TABLE ADD PARTITION语句增加分区,以及使用LOAD DATA INTO PARTITON语句将数据加载到分区时,只能加载到静态分区。
- 动态分区:通过查询命令,将结果插入到某个表的分区时,可以使用动态分区。
set hive.exec.dynamic.partition=true;
动态分区默认模式是“strict”,也就是必须至少指定一列为静态分区,在静态分区下建立动态子分区,可以通过如下设置开启完全的动态分区:
set hive.exec.dynamic.partition.mode=nonstrict;
- 动态分区可能导致一个DML语句创建大量的分区,对应创建大量新文件夹,对系统性能可能带来影响。
- 在文件数量大的情况下,执行一个SQL语句启动时间较长,可以在执行SQL语句之前执行“set mapreduce.input.fileinputformat.list-status.num-threads = 100;”命令缩短启动时间。“mapreduce.input.fileinputformat.list-status.num-threads”参数需要先添加到Hive的白名单才可设置。
- 静态分区:
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Kafka_如何使用Kafka
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是MapReduce服务_什么是HBase
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- MapReduce服务_什么是Hue_如何使用Hue
- MRS备份恢复_MapReduce备份_数据备份