본문 바로가기

반응형

scala

HDFS부터 DB까지 팁 아닌 팁~ 스칼라 알못 스파크 알못이라..이번에 작업한 내용이 있는데 삽질을 많이 했다...ㅋㅋ 생각나는 것들을 적어보자. HDFS를 가져와 RDD에 저장! sc.textFile을 통해서 HDFS를 가져온다. sc.textFile("hdfs path") 그런데 그냥 가져오면 소용이 없다. 그러므로 map을 통해서 필요한 친구들만 가져온다. 또한 filter를 통해 데이터를 줄여준다.ex) hdfs의 포맷이 Json이라서 Gson을 사용. filter를 통해 데이터를 줄여준다. val rddRaw0 = sc.textFile("hdfs path").map(line => new Gson().fromJson(line, classOf[TestObject])).filter(line=> line.collection.code.c.. 더보기
java.sql.SQLException: No value specified for parameter 3 해당 에러는 scala + mysql에서 insert + update를 하고자할 때 났다.쿼리 스트링은 아래와 같다.val insertSql = """ |insert into 테이블 (name, age ) |values (?,?) |ON DUPLICATE KEY UPDATE name = ?, age =? """.stripMarginjava.sql.SQLException: No value specified for parameter 3에러는 아래에서 코드가 추가되지 않아서였다.targetList.foreach { t => val name = t._1 val age = t._2 if (age > 20){ insertStmt.setString(1, name) insertStmt.setInt(2, age) ins.. 더보기
sbt lib 연동 안되는 현상 not found!! dependency에는 있는데 not found....sbt가 꼬인듯 하다..ㅠㅠ 이럴땐? 다시 셋팅 하자.. SBT버전이 중요! 너무 낮거나 높으면 인텔리J에서 제대로 못가져옴.-_-;; Scala/Spark 버전은 사내 분산 클러스터에 맞게 적용. build.sbt 내용 name := "neosite-data" version := "0.1" scalaVersion := "2.11.11" val sparkVersion = "1.6.2" libraryDependencies ++= Seq("org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.0", "org.scalatest" %% "scalatest" % "3.0.5" % "t.. 더보기
couchbase와 같은 키/벨류의 key design?? 오픈소스로 키/벨류의 형태의 스토리지들이 많이 있다. Redis나 couchbase등이 그 예이다. 이러한 스토리지들에 저장을할 때 고려사항으로 key를 어떤식으로 만들어야할 지 고민이 되어진다.왜냐하면 이러한 key들은 한정되어진 범위를 가지고 있다. couchbase의 경우는 250byte로 제한을 둔다. 또한 이러한 key들의 무결성을 보장되어야 한다. 그렇지 않으면 데이터의 유실이 발생할 수가 있다.그래서 생각했던 것이 Hash였다. 그러나 자바진형의 String에서 제공되어지는 Hash는 중복의 염려가 있다고 한다.그래서 SHA-1 + Base64 Encoding(urlSafe)를 선택 하였다.아래는 스칼라 코드이며 해당 키는 아래의 소스를 통해 "IbDNShu-PGxJtnsUVuDJLv-aJo.. 더보기
(기초) 스칼라 데이터 구조(컬렉션) 2016/03/25 - [Language/Scala] - (기초) 스칼라 문법참고 사이트 : https://twitter.github.io/scala_school/ko/collections.html scala> val numbers = List(1,2,3,4,5)numbers: List[Int] = List(1, 2, 3, 4, 5) scala> Set(1,2,2)res20: scala.collection.immutable.Set[Int] = Set(1, 2) scala> val hostPort = ("localhsot", 8080)hostPort: (String, Int) = (localhsot,8080) scala> hostPort._1res21: String = localhsot scala> hos.. 더보기
(기초) 스칼라 문법 참고 사이트 : https://twitter.github.io/scala_school/ko/basics.html terrypark@localhost:~/program/sbt/bin$ sbt console[info] Set current project to bin (in build file:/Users/terrypark/program/sbt/bin/)[info] Starting scala interpreter...[info]Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).Type in expressions to have them evaluated.Type :help for more information. s.. 더보기
spark + scala + sbt 프로젝트!! 환경 : sbt : 0.13.11 - 참고 : https://twitter.github.io/scala_school/ko/sbt.htmlscala : 2.10.6spark : 1.5.2 음..환경설정이 조금 짜증이 났지만..아래와 같은 프로젝트 구조가 생겼다. 이제 한번 scala의 문법을 공부해보자. 그런 뒤 spark를 사용하여 지지고 볶고 해보자! 일단 여기까쥐~ - 끝 - 더보기

반응형