我在HDFS中有一个木地板文件,大小约为1tb。目前,数据是通过默认方法进行分区的(不知道这是什么 - 我之前认为它是散列分区的)但是下一步需要使用“guid”列相互连接行,所以我正在寻找最佳的分区实现。我目前对低效率的定义是数据集的大量改组以进行上述连接,并且在1tb的镶木地板目录中有大约79k个文件,每个分区大约13mb。重新启动可能是一个简单的初始胜利(我继承了这个数据集 - 没有设置它)但我认为某种形式的guid分区会更好,因为我目前的分区工作知识
我对什么是一个好分区的理解:
数据是时间序列,因此按日期分区是一个好的开始,但我需要在其中进行分区以便以后的操作(使用guid)。我正在考虑按日期划分,并在guid上使用rangePartitioner。
我的问题:
表格示例:
//============[]======[]===========[]====================\\
|| Date || Guid || SubGuidID || Misc Other columns ||
|]============[]======[]===========[]====================[|
|| 2018-04-30 || 1 || 1 || x ||
|| 2018-04-30 || 1 || 2 || y ||
|| 2018-04-30 || 2 || 1 || z ||
\\============[]======[]===========[]====================//