小编Gre*_*een的帖子

Apache hive MSCK REPAIR TABLE未添加新分区

我是Apache Hive的新手.在处理外部表分区时,如果我将新分区直接添加到HDFS,则在运行MSCK REPAIR表后不会添加新分区.以下是我试过的代码,

- 创建外部表

hive> create external table factory(name string, empid int, age int) partitioned by(region string)  
    > row format delimited fields terminated by ','; 
Run Code Online (Sandbox Code Playgroud)

- 详细表信息

Location:  hdfs://localhost.localdomain:8020/user/hive/warehouse/factory     
Table Type:             EXTERNAL_TABLE           
Table Parameters:        
    EXTERNAL                TRUE                
    transient_lastDdlTime   1438579844  
Run Code Online (Sandbox Code Playgroud)

- 在HDFS中创建目录以加载表工厂的数据

[cloudera@localhost ~]$ hadoop fs -mkdir 'hdfs://localhost.localdomain:8020/user/hive/testing/testing1/factory1'
[cloudera@localhost ~]$ hadoop fs -mkdir 'hdfs://localhost.localdomain:8020/user/hive/testing/testing1/factory2'
Run Code Online (Sandbox Code Playgroud)

- 表数据

cat factory1.txt
emp1,500,40
emp2,501,45
emp3,502,50

cat factory2.txt
EMP10,200,25
EMP11,201,27
EMP12,202,30
Run Code Online (Sandbox Code Playgroud)

- 从本地复制到HDFS

[cloudera@localhost ~]$ hadoop fs -copyFromLocal '/home/cloudera/factory1.txt' 'hdfs://localhost.localdomain:8020/user/hive/testing/testing1/factory1'
[cloudera@localhost ~]$ hadoop fs -copyFromLocal '/home/cloudera/factory2.txt' …
Run Code Online (Sandbox Code Playgroud)

hadoop hive mapreduce apache-hive

6
推荐指数
2
解决办法
3万
查看次数

标签 统计

apache-hive ×1

hadoop ×1

hive ×1

mapreduce ×1