可逆的减少字符串长度以减少内存

时间:2019-04-30 09:01:26

标签: python memory memory-management

我有〜1亿个唯一的字符串,它们的长度为 30个字符

我想减小它们在内存中的大小。

由于它们有1亿个不同的值,因此理论上我可以将信息压缩为 5个字符,因为62 ^ 5可以提供900M的可能性。

有什么聪明的方法可以实现这一目标吗?

我在想什么:

  • 按字母顺序对其进行排序
  • 将此排名转换为以base(62)

1 个答案:

答案 0 :(得分:0)

我在PySpark中使用了StringIndexer方法,这正是我所需要的。

请参见https://spark.apache.org/docs/2.1.0/ml-features.html#stringindexer