tata色々な備忘録

データ解析、画像解析、化学分析などなど

scala覚え書き

位置参照(スライス)に関して追記

1. ListやArrayの操作基本

scala> val test_array = (0 to 10).toArray
test_array: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

//範囲抽出
scala> test_array.slice(3,7)
res38: Array[Int] = Array(3, 4, 5, 6)

//位置参照
scala> test_array(5)
res52: Int = 5

//先頭取り出し
scala> test_array.head
res45: Int = 0

//最後尾取り出し
scala> test_array.last
res48: Int = 10

//先頭除去
scala> val tail_array = test_array.tail
tail_array: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

//反転
scala> test_array.reverse
res46: Array[Int] = Array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)

//最後尾の削除
scala> val temp = test_array.init
res47: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

//最前列追加
scala> -1+:test_array
res51: Array[Int] = Array(-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

//最後尾追加
scala> test_array :+ 11
res49: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)

//内容指定による要素除去
scala> val remove_test_array = test_array.filter{_!= 5}
remove_test_array: Array[Int] = Array(0, 1, 2, 3, 4, 6, 7, 8, 9, 10)

2. build.sbtでjarのライブラリを追加する書式
(build.sbtと同一フォルダにcustom_libフォルダ作成してjarを入れる)

//build.sbt
unmanagedBase := baseDirectory.value / "custom_lib"

3. build.sbtのspark対応
scalaのバージョン番号をsparkのライブラリ末尾に入れる必要がある。
インストールしたsparkのパスを通してから、
sparkのバージョンとmarvenのリポジトリに対応した記載にすること。
Maven Repository: spark

//build.sbt
scalaVersion := "2.11.8"
val sparkVersion = "2.3.0"
libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % sparkVersion
libraryDependencies += "org.apache.spark" % "spark-hive_2.11" % sparkVersion

適宜追加予定