目前我正在使用 Python、Numpy、pandas、scikit-learn 进行数据预处理(LabelEncoder、MinMaxScaler、fillna 等),然后将处理后的数据提供给使用 Tensorflow 2.0 构建的 DNN 模型。当数据小到足以容纳 PC 的 RAM 时,此输入管道可以满足我的需求。
现在我有一些大型数据集,超过 10GB,有些更大。我还计划在生产环境中部署模型,这意味着每天都会有新数据出现。对于 DNN 模型训练,有 tensorflow 2.0 的分布式策略。但是对于数据预处理,显然我不能在一台 PC 上在大型数据集上使用 pandas 和 scikitlearn。在我看来,我需要使用一个 for 循环来重复获取一小部分数据并将其用于训练?
我想知道人们通常在实验或生产环境中使用什么来进行大数据预处理? 我应该使用 Spark(PySpark) 和Tensorflow 输入管道吗?