What open-source software framework includes several software modules that provide a means for storing and processing extremely large data sets, organized into two primary components?.