sql - 在现有配置单元表上添加分区

标签 sql hadoop hive

我正在处理一个大的 hive 表(超过 5000 亿条记录)。 处理速度太慢,我想加快速度。 我认为通过添加分区,该过程可能会更有效率。

谁能告诉我该怎么做? 请注意,我的表已经存在。

我的 table :

create table T(
nom string,
prenom string,
...
date string)

按日期字段分区。

谢谢

最佳答案

 SET hive.exec.dynamic.partition = true;

SET hive.exec.dynamic.partition.mode = nonstrict;

INSERT OVERWRITE TABLE table_name PARTITION(Date) select date from table_name; 

注意: 在分区表的插入语句中,确保您在 select 子句的最后指定分区列。

关于sql - 在现有配置单元表上添加分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34678597/

相关文章:

hadoop - 租期过期异常 : No lease error on HDFS (Failed to close file)

sql - 为 Integer 数据类型插入带有单引号的语句

java - NoRouteToHostException 而 hadoop fs -copyFromLocal

hadoop - 无法从配置单元创建 hbase 表

hadoop - 识别在Pig脚本中启动的Mappers和Reducers的数量

hadoop - 从Salesforce提取数据时仅执行一次 map task

php - 将图像的路径存储在不同的数据库列中

mysql - 如何使用 sql 查询对列表列表进行排序?

mysql - UNION/GROUP BY - 防止 NULL 值

json - 使用HIVE从JSON提取字段