[英]Is it good idea to repartition 50 million records data in dataframe? If yes then someone please tell me the appropriate way of doing this
我们将在组织中处理大数据(约5000万条记录)。 我们正在根据日期和其他一些参数对数据进行分区,但是数据并非均等地分区。 我们可以对其进行分区以获得良好的性能吗?
根据您的计算机,尝试维护固定数量的分区。 分区总是一个好主意,但是在大多数情况下,基于日期进行分区不是一个好主意(不确定,因为我不知道您的数据的性质)。
通常,分区是一个好主意,正如@Karthik已经说过的那样,日期通常不是最好的主意。 根据我的经验,根据您拥有的工作人员数量对数据进行分区总是很有意义的。 因此,理想情况下,分区大小是您的工作人员的倍数。 我们通常使用120个分区,因为我们在spark环境中有24个工作程序,并最终得到如下代码: new_df = spark.read.csv("some_csv.csv", header="true", escape="\\"", quote="\\"").repartition(100)
我们还体验了使用实木复合地板而不是csv的更好的性能,这是一个折衷方案,因为必须重新读取,重新分区和存储数据,但是在分析步骤中却获得了回报。 因此,也许您也应该考虑这种转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.