Azure 如何将配置单元中的文件合并为一个大文件?

Azure 如何将配置单元中的文件合并为一个大文件?,azure,hadoop,hive,hdfs,hive-metastore,Azure,Hadoop,Hive,Hdfs,Hive Metastore,我正在从事Azure HDInsight群集的大数据处理工作。几天前,我通过合并许多文件在配置单元中创建了一个分区和带扣的表 由于Azure没有提供任何停止群集的选项,因此我不得不删除群集以节省成本。数据独立存储在Azure存储帐户中。当我使用相同的存储帐户创建新集群时,我可以使用HDFS命令查看数据库和表,但配置单元无法读取该数据库或表,可能配置单元没有关于该数据库或表的元数据 我剩下的唯一选择是将所有分区和带扣的文件合并到一个文件中,然后再次创建表。那么,是否有任何方法可以将该表迁移到另一个

我正在从事Azure HDInsight群集的大数据处理工作。几天前,我通过合并许多文件在配置单元中创建了一个分区和带扣的表

由于Azure没有提供任何停止群集的选项,因此我不得不删除群集以节省成本。数据独立存储在Azure存储帐户中。当我使用相同的存储帐户创建新集群时,我可以使用HDFS命令查看数据库和表,但配置单元无法读取该数据库或表,可能配置单元没有关于该数据库或表的元数据


我剩下的唯一选择是将所有分区和带扣的文件合并到一个文件中,然后再次创建表。那么,是否有任何方法可以将该表迁移到另一个数据库或将其合并,以便更易于迁移???

您可以创建一个指向该
HDFS位置的
外部表
(具有与以前相同的属性)。因为您提到它有分区,所以您可以运行
MSCK REPAIR TABLE name
,以便也可以查看分区


希望这有帮助

您可以创建一个指向该
HDFS位置的
外部表
(属性与前面相同)。因为您提到它有分区,所以您可以运行
MSCK REPAIR TABLE name
,以便也可以查看分区


希望这有帮助

实际上分区中有增量文件夹,由于该表是通过插入多个文件中的数据创建的,因此我得到以下错误:失败,异常为java.io.IOException:java.io.FileNotFoundException:wasb://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/hive/warehouse/cdr.db/cdr_main/district=XYZ 是一个目录而不是一个文件。看起来这是一个不同的问题在你原来的问题中!我给出的解决方案是否允许您创建表、获取数据并显示分区?如果这解决了你最初的问题,你能详细阐述这个问题吗?我很难理解这个问题。最好是提出一个包含所有细节的新问题(如果此问题已解决),或者请编辑此问题以反映您当前的问题。。感谢您以后避免这个问题,您应该使用外部配置单元元存储。@Naga,它确实创建了分区,但我无法查询数据,甚至无法计算记录,而且由于表是通过合并许多文件创建的,因此确实存在增量文件夹。在不知道如何创建表的情况下,底层数据的结构,以及delta文件是如何创建的我可能帮不了你实际上分区中有delta文件夹,由于该表是通过插入多个文件中的数据创建的,因此我得到以下错误:失败,异常为java.io.IOException:java.io.FileNotFoundException:wasb://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/hive/warehouse/cdr.db/cdr_main/district=XYZ 是一个目录而不是一个文件。看起来这是一个不同的问题在你原来的问题中!我给出的解决方案是否允许您创建表、获取数据并显示分区?如果这解决了你最初的问题,你能详细阐述这个问题吗?我很难理解这个问题。最好是提出一个包含所有细节的新问题(如果此问题已解决),或者请编辑此问题以反映您当前的问题。。感谢您以后避免这个问题,您应该使用外部配置单元元存储。@Naga,它确实创建了分区,但我无法查询数据,甚至无法计算记录,而且由于表是通过合并许多文件创建的,因此确实存在增量文件夹。在不知道如何创建表的情况下,底层数据的结构,以及delta文件是如何创建的我可能帮不了你