├── .github └── workflows │ └── gradle-publish.yml ├── .gitignore ├── .travis.yml ├── .travis └── keys.tar.enc ├── LICENSE ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── publish.gradle ├── python ├── example.py └── requirements.txt ├── settings.gradle └── src ├── main └── scala │ └── com │ └── criteo │ └── rsvd │ ├── BlockMatrix.scala │ ├── CSRMatrix.scala │ ├── GridPartitioner.scala │ ├── RSVD.scala │ ├── RSVDWrapper.scala │ ├── ReadingWritingData.scala │ ├── ReconstructionError.scala │ ├── SingleDimensionPartitioner.scala │ ├── SkinnyBlockMatrix.scala │ └── Utils.scala └── test ├── resources └── tiny_dataset │ └── matrixEntries │ └── part-00000-66fab44e-1fdc-4d99-9609-ff7b0beabfd5-c000.snappy.parquet └── scala ├── com └── criteo │ └── rsvd │ ├── CSRMatrixTest.scala │ ├── PerTestSparkSession.scala │ ├── RSVDTest.scala │ ├── RSVDWrapperTest.scala │ ├── RandomizedSVDJobEndToEndTest.scala │ ├── ReconstructionErrorTest.scala │ ├── SingleDimensionPartitionerSpec.scala │ ├── SkinnyBlockMatrixTest.scala │ └── UtilsTest.scala └── org └── apache └── spark └── mllib └── distributed └── BlockMatrixTest.scala /.github/workflows/gradle-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/.github/workflows/gradle-publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/.travis.yml -------------------------------------------------------------------------------- /.travis/keys.tar.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/.travis/keys.tar.enc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/README.md -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/gradlew.bat -------------------------------------------------------------------------------- /publish.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/publish.gradle -------------------------------------------------------------------------------- /python/example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/python/example.py -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | pyspark 2 | pandas 3 | scipy 4 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'rsvd' 2 | 3 | -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/BlockMatrix.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/BlockMatrix.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/CSRMatrix.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/CSRMatrix.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/GridPartitioner.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/GridPartitioner.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/RSVD.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/RSVD.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/RSVDWrapper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/RSVDWrapper.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/ReadingWritingData.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/ReadingWritingData.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/ReconstructionError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/ReconstructionError.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/SingleDimensionPartitioner.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/SingleDimensionPartitioner.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/SkinnyBlockMatrix.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/SkinnyBlockMatrix.scala -------------------------------------------------------------------------------- /src/main/scala/com/criteo/rsvd/Utils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/main/scala/com/criteo/rsvd/Utils.scala -------------------------------------------------------------------------------- /src/test/resources/tiny_dataset/matrixEntries/part-00000-66fab44e-1fdc-4d99-9609-ff7b0beabfd5-c000.snappy.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/resources/tiny_dataset/matrixEntries/part-00000-66fab44e-1fdc-4d99-9609-ff7b0beabfd5-c000.snappy.parquet -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/CSRMatrixTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/CSRMatrixTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/PerTestSparkSession.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/PerTestSparkSession.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/RSVDTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/RSVDTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/RSVDWrapperTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/RSVDWrapperTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/RandomizedSVDJobEndToEndTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/RandomizedSVDJobEndToEndTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/ReconstructionErrorTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/ReconstructionErrorTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/SingleDimensionPartitionerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/SingleDimensionPartitionerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/SkinnyBlockMatrixTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/SkinnyBlockMatrixTest.scala -------------------------------------------------------------------------------- /src/test/scala/com/criteo/rsvd/UtilsTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/com/criteo/rsvd/UtilsTest.scala -------------------------------------------------------------------------------- /src/test/scala/org/apache/spark/mllib/distributed/BlockMatrixTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/criteo/Spark-RSVD/HEAD/src/test/scala/org/apache/spark/mllib/distributed/BlockMatrixTest.scala --------------------------------------------------------------------------------