Hadoop 带hdfs的黑斑羚分区表

Hadoop 带hdfs的黑斑羚分区表,hadoop,apache-pig,impala,Hadoop,Apache Pig,Impala,我以下面的格式将数据存储在hdfs中,并使用“ALTERTABLEADDPARTITION”命令将该数据插入impala分区表中 /用户/impala/subscriber_数据/年=2013/月=10/天=01 /用户/impala/subscriber_数据/年=2013/月=10/天=02 一切正常 现在我有了一个新数据,月份和年份分别为10和01。现在我需要处理这些数据,并将这些数据附加到现有的hdfs目录中(year=2013/month=10/day=01) 当我尝试处理并插入到hd

我以下面的格式将数据存储在hdfs中,并使用“ALTERTABLEADDPARTITION”命令将该数据插入impala分区表中

/用户/impala/subscriber_数据/年=2013/月=10/天=01 /用户/impala/subscriber_数据/年=2013/月=10/天=02

一切正常

现在我有了一个新数据,月份和年份分别为10和01。现在我需要处理这些数据,并将这些数据附加到现有的hdfs目录中(year=2013/month=10/day=01)

当我尝试处理并插入到hdfs目录时,其作为输出目录的给定错误已经存在

是否有任何方法可以在不删除现有目录的情况下将新数据附加到现有hdfs目录中


另外,如何使用impala将新数据插入现有分区?(我只有年、月、日分区的表)。

若要插入现有分区,必须删除现有分区,并将其与构成该分区的所有文件(包括新数据)一起添加回去

因此,需要备份现有分区数据,删除分区并处理新数据,并使用新旧数据创建相同的分区(已删除)?此外,我在这些分区中使用snappy压缩数据的拼花地板,如/user/impala/year=2013/month=10/day=01/part-m-00000.snappy.parquet/user/impala/year=2013/month=10/day=01/part-m-00001.snappy.parquet。。。。。如果我处理新数据,压缩数据将采用与part-m-00000.snappy.parquet、part-m-00001.snappy.parquet相同的格式,因此,在这里,旧数据和新数据将具有相同的文件名,这会再次产生问题(覆盖)。您需要将这些文件放到同一文件夹中并解决任何名称冲突,或者可以使用pig合并这些文件。