Re: ukuran data
Jawaban singkatnya
Scala bekerja untuk data kecil dan besar, tetapi pembuatan dan pengembangannya dimotivasi oleh kebutuhan akan sesuatu yang dapat diskalakan. Scala adalah akronim untuk “Bahasa yang Dapat Dikembangkan” .
Jawaban panjangnya
Scala adalah bahasa pemrograman fungsional yang berjalan di jvm . Bagian 'fungsional' dari ini adalah perbedaan mendasar dalam bahasa yang membuat Anda berpikir berbeda tentang pemrograman. Jika Anda menyukai cara berpikir seperti itu, Anda dapat dengan cepat bekerja dengan data kecil. Apakah Anda suka atau tidak, bahasa fungsional pada dasarnya lebih mudah untuk skala besar-besaran. Sepotong jvm juga penting karena jvm pada dasarnya ada di mana-mana dan, dengan demikian, kode Scala dapat berjalan pada dasarnya di mana-mana. (Perhatikan ada banyak bahasa lain yang ditulis pada jvm dan banyak bahasa pemrograman fungsional lainnya , dan bahasa di luar Scala muncul di kedua daftar.)
Pembicaraan ini memberikan gambaran yang baik tentang motivasi di balik Scala.
Re: alat lain yang memiliki dukungan Scala yang baik:
Seperti yang Anda sebutkan, Spark (pemrosesan batch yang dapat didistribusikan lebih baik pada algoritma iteratatif daripada rekannya) adalah yang besar. Dengan Spark hadir pustaka Mllib untuk pembelajaran mesin dan GraphX untuk grafik. Seperti yang disebutkan oleh Erik Allik dan Tris Nefzger, Akka dan Factorie ada. Ada juga Play .
Secara umum, saya tidak tahu apakah ada kasus penggunaan khusus yang Anda gali (jika demikian, jadikan itu bagian dari pertanyaan Anda), atau hanya ingin survei alat data besar dan kebetulan tahu Scala sedikit dan ingin untuk memulai dari sana.