본문 바로가기
반응형

spark17

spark_study) AggregateByKey TEST AggregateByKey https://www.projectpro.io/recipes/explain-aggregatebykey-spark-scala 위의 링크를 통해 개념을 살펴보고 아래처럼 작성해보았다. spark-shell을 사용해서 작성 /usr/local/Cellar/apache-spark/3.1.2/bin/spark-shell // Bazic aggregateByKey example in scala // Creating PairRDD studentRDD with key value pairs, Number partitions is 3 defined in parallelize method. val studentRDD = sc.parallelize(Array( ("Joseph", "Maths", 8.. 2022. 4. 7.
Spark - RDD? RDD(Resilient Distributed Dataset)는 불변이며, 분산 컬렉션 객체이다. 불변성 특성때문에 한번 생성된 RDD는 읽기 전용이다. 즉, 트랜스포메이션(Transformation)은 RDD에서 새로운 RDD로 생성할 수는 있지만, 원본 RDD는 생성된 후에는 결코 수정되지 않는다. 그러므로 RDD는 경쟁조건과 기타 동기화 문제에 영향을 받지 않는다! RDD는 데이터에 대한 참조만 포함하기 때문에(실제 데이터는 클러스터의 노드에 있는 파티션에 포함) RDD의 분산 특성이 동작할 수 있다. RDD는 실제로 클러스터에서 파티션으로 나워진 데이터셋이고, 파티션 데이터는 HDFS, HBase, Cassnadra, AWS S3에서 가져온 것일 수 있다. RDD는 다음과 같은 5가지 주요 속성을.. 2022. 3. 3.
[Spark-Study] Day-9 스칼라? 빅데이터 분석을 위한 스칼라와 스파크 책을 구입! 107p 까지 읽음. 간략하게 요약해보면 1장 스칼라는 함수형 프로그래밍과 강력한 정적 타입 시스템을 지원하는 벙용 프로그래밍 언어. 정적타입? 프로그래밍언어에서 컴파일 시간에 변수의 타입을 알게 되면 정적타입 언어라고 함. (ex 자바 같은언어) 반대 개념은 인터프리터 언어(런타임시에 언어를 분석, 파이썬 같은 애들) 객체지향 프로그래밍과 함수형 프로그래밍의 개념을 지원. 여러 IDE를 지원(이클립스, 인텔리제이, VIM 등등) 스칼라는 JVM을 사용하기 때문에 자바가 설치 되어있어야 함. 스칼라는 확장 가능한(Scalable) 언어에서 유래 했다고 함. 스칼라 REPL(레플) 스칼라 shell에 스칼라 코드를 좀 더 쉽고 간결하게 작성할 수 있게 하는.. 2021. 9. 9.
[Spark-Study] Day-7 spark-shell을 통한 실습 2021.08.19 - [Study/Study group] - [Spark-Study] Day-6 저번 시간에 55p 실습하다 잘 안되는 부분 다시 츄라이~ spark-shell을 통해 코딩! terrypark  ~   master  spark-shell 21/08/26 10:19:58 WARN Utils: Your hostname, acetui-MacBookPro.local resolves to a loopback address: 127.0.0.1; using 172.27.114.231 instead (on interface en0) 21/08/26 10:19:58 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address WA.. 2021. 8. 26.
[Spark-Study] Day-5 인텔리제이에서 실습 2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 2021.08.05 - [BigDATA/spark] - [Spark-Study] Day-4 관련 github : https://github.com/databricks/LearningSparkV2 챕터3의 소스를 동작하기 위해 다시 프로젝트를 생성해보았다. git clone https://github.com/databricks/LearningSparkV2.git 소스를 클론해 오고 IDE에서 오픈하였다. main소스에서는 .. 2021. 8. 12.
[Spark-Study] Day-4 스파크 로컬 디버깅 2021.06.14 - [Study/Study group] - [Spark-Study] Day-1 2021.06.24 - [Study/Study group] - [Spark-Study] Day-2 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 spark local debugging 해보기 코드상으로는 아래의 내용이 추가 된다. val conf = new SparkConf().setAppName("MnMCount") conf.setIfMissing("spark.master", "local[*]") val spark = SparkSession .builder .config(conf) .getOrCreate() // val spark = SparkSession //.. 2021. 8. 5.
[Spark-Study] Day-3 스파크 예제를 위한 셋팅 spark 예제 돌려보기 sbt로 build를 하기 위해 필요한 것은 아래와 같다. 1. 소스 2. build.sbt sbt clean 한뒤에 sbt package를 해보자! spark-submit 해보기! /usr/local/Cellar/apache-spark/3.1.1/bin/spark-submit --class MnMcount target/scala-2.12/main-scala-chapter2_2.12-1.0.jar mnm_dataset.csv 인텔리J에 셋팅 해보기! 인텔리J에서 프로젝트를 Open 해보자! 아래와 같이 인텔리J에 프로젝트를 잘 가져왔다. 프로젝트 구조는 위와 같다. MnMcount 소스 // scalastyle:off println import org.apache.spark.sq.. 2021. 7. 1.
[error] SERVER ERROR: Service Unavailable url=블라블라 Error.. not found 에러! 15:54:42.639 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: UNRESOLVED DEPENDENCIES :: 15:54:42.640 [warn] :::::::::::::::::::::::::::::::::::::::::::::: 15:54:42.640 [warn] :: net.databinder.dispatch#dispatch-core_2.12;0.11.2: not found 15:54:42.640 [warn] :: org.scalatest#scalatest_2.12;2.2.4: not found 15:54:42.640 [warn] :: org.apache.spark.. 2021. 6. 14.
SBT + ANSIBLE 빌드서버에서 빌드 후 배포(배치 서버로) build는 shell을 통해 처리 하였다. (음..뭔가 ansible style은 아니다..ㅠㅠ 책을 사서 좀 더 파봐야겠다.)- name: Execute sbt build shell: | cd {{ build_home }}/{{ build_id }} pwd ./sbt.sh sbt.sh에서는 sbt를 통해 명령어로 처리! sbt가 export가 잘안되어서 그냥 절대경로로 처리!/daum/program/sbt/bin/sbt clean assembly deploy는 간단히 copy해주는 형식으로 처리 하였다. 즉, local jar를 deploy할 서버로 카피!--- - hosts : spark serial : 1 tasks : - name : Make data d.. 2019. 1. 23.
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.. 2019. 1. 15.
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.. 2019. 1. 4.
spark rdd programining https://spark.apache.org/docs/latest/rdd-programming-guide.htmlspark rddOverviewAt a high level, every Spark application consists of a driver program that runs the user’s main function and executes various parallel operations on a cluster. The main abstraction Spark provides is a resilient distributed dataset (RDD), which is a collection of elements partitioned across the nodes of the cluster th.. 2018. 12. 30.
2탄. SPARK를 설치해보자~(클러스터) 2016/10/18 - [BigDATA/spark] - 1탄. SPARK를 설치해보자~ 1탄. 단일모드 2탄. 클러스터 모드 3탄. 기타 유용 셋팅(스파크 관련) 우선 분산 클러스터로 셋팅하기전에! 요것만큼은 알고가자는 의미에서 살짝 정리해본다.1. Spark 구조(펌: https://www.google.co.kr/search?q=spark+%EA%B5%AC%EC%A1%B0&newwindow=1&biw=1598&bih=976&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwi1y4ut0ObPAhWqiVQKHWFaDgcQ_AUIBigB&dpr=1#imgrc=EdvQ87Vu0XWkMM%3A) 여기에서 Stand alone Scheduler , YARN, Apache Mesos는 .. 2016. 10. 19.
1탄. SPARK를 설치해보자~ 해당 포스팅은 총 3부로 구성될 예정 입니다.1탄. 단일모드 2탄. 클러스터 모드3탄. 기타 유용 셋팅(스파크 관련) 1탄. SPARK를 설치해보자~ Apache Spark 설치! 버전은 1.6.1 / hadoop 2.6으로 해서 다운받아보겠습니다. (현업에서 사용중인게 요거라서 요걸로!)Step 1. 아래의 링크를 통해 스파크를 다운 받아보자!http://spark.apache.org/downloads.html Step 2. down을 받아서 원하는 서버에서 압축을 풀어줍니다.압축을 해제하고 내용을 보면 아래와 같습니다. Step 3. Spark는 대화형 쉘들을 제공 합니다.파이썬과 스칼라가 있는데요 즉석 데이터를 분석하기에 좋습니다.실행은?1) 파이썬 쉘 ㄴ bin directory에 가서 ./pys.. 2016. 10. 18.
spark logback 설정? spark에서 돌아가는 app에서 logback.xml을 설정하여 사용하고 싶었습니다. 환경은! spark 1.5.2scala 2.10.6 그리고 아래와 같이 build.sbt에 설정! "ch.qos.logback" % "logback-classic" % "1.1.6" 그러나 spark conf쪽의 log4j.properties를 조정하면 영향을 받음. 배제 시켜야할 듯 어디에서? 스파크에서!그러므로 그냥 logback 말고 log4j를 사용하는게 좋을듯! Keep log4j: Add a bootstrap action to modify /home/hadoop/spark/conf/log4j.properties to add an appender? However, this file already contain.. 2016. 6. 29.
spark와 친해지기! 아마 아래와 같은 형태가 될것 같다.sparkContext 클래스는 스파크클러스터의 연결과 스파크와 연동할 수 있는 엔트리 포인트를 제공. 인스턴스를 생성하여 다양한 일을할 수 있다.spark RDD : RDD(resilient distributed dataset)를 활용하면 데이터의 병렬처리를 쉽게할 수 있다.spark 참고 사이트!!http://spark.apache.org/docs/latest/programming-guide.html#overview 2016. 3. 22.
spark + scala + sbt 프로젝트!! 환경 : sbt : 0.13.11 - 참고 : https://twitter.github.io/scala_school/ko/sbt.htmlscala : 2.10.6spark : 1.5.2 음..환경설정이 조금 짜증이 났지만..아래와 같은 프로젝트 구조가 생겼다. 이제 한번 scala의 문법을 공부해보자. 그런 뒤 spark를 사용하여 지지고 볶고 해보자! 일단 여기까쥐~ - 끝 - 2016. 3. 22.
반응형