본문 바로가기
반응형

Data Platform68

[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.
Upgrade IntelliJ IDEA for Big Data Tool Plug-In & running spark! 2021.07.01 - [BigDATA/spark] - [Spark-Study] Day-3 회사에서 인텔리J를 사줘서 유용하게 사용하고 있다! 그래서 Ultimate version으로 셋팅! 학생이라면 Community 버전으로! 그런데 역시나 돈을 안내면 제한은 있다..ㅜㅜ 위에서 IntelliJ IDEA -> Applications로 드래그 해주면 인스톨 된다. 인스톨 이후 Plugins에서 Big Data Tools를 인스톨 해준다. 단, 커뮤니티 버전이면 big data tool 플러그인은 보이지 않는다.. 그리고 spark-submit을 위해 local에 spark를 셋팅 해주어야하며 Mac 유저라면 brew를 통해 인스톨 해주자. 스터디에서 사용되는 예제는 spark 3.x 이상이어야 동작한다.. 2021. 7. 29.
[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.
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.
하둡명령어로 삭제하기(fs -rm) 하둡 hdfs 삭제 하기! #!/bin/bash # 주기적으로 hdfs 데이터를 삭제한다. # crontab 에 등록하여 실행시킨다. # 2일 전 데이터 삭제 date=`date -d "2 days ago" "+%Y%m%d"` /home/acet/program/hadoop/bin/hadoop fs -rm -r -skipTrash "/HADOOP경로/하둡path/*.txt.$date*" # 하둡 temp 데이터 삭제 find /home/acet/data/ -ctime +2 -type f -exec rm -f {} \; 2016. 12. 6.
spark-submit deploy-mode option Client modeWant to get a job result (dynamic analysis)Easier for developping/debuggingControl where your Driver Program is runningAlways up application: expose your Spark job launcher as REST service or a Web UICluster modeEasier for resource allocation (let the master decide): Fire and forgetMonitor your Driver Program from Master Web UI like other workersStop at the end: one job is finished, a.. 2016. 11. 2.
hadoop distcp $ ./hadoop distcpusage: distcp OPTIONS [source_path...] OPTIONS -append Reuse existing data in target files and append new data to them if possible -async Should distcp execution be blocking -atomic Commit all changes or none -bandwidth Specify bandwidth per map in MB -delete Delete from target, files missing in source -diff Use snapshot diff report to identify the difference between source and .. 2016. 10. 28.
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 log4j 사용해보기! 구조는 아래와 같습니다.assembly.jar // assembly한 소스! jarspark-submit.sh // spark-submit의 내용이 있는 shellscriptlog4j-acet.properties // 우리가 사용하는 log4j.properties 아래의 spark-submit 에서 아래의 옵션을 2가지 추가 해줍니다.(즉, spark-submit.sh안에서!)예시)LOG_PATH=file:/full path를 적어줍니다./log4j-acet.properties$SPARK_HOME/bin/spark-submit --class "Main" \ --conf spark.executor.extraJavaOptions="-Dlog4j.configuration=$LOG_PATH" \ --driver.. 2016. 7. 4.
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-submit 옵션 관련 Spark Submit의 옵션들에 대해서 알아보자.$SPARK_HOME/bin/spark-submit --class "Main" \ --master spark://acet.pe.kr:7077 \ --executor-memory 4G \ --total-executor-cores 25 \ --conf spark.driver.memory=2G \ --properties-file $CONF_NAME \ --conf spark.driver.extraJavaOptions='-Xms1024m -Xmx2048m' \ /home/acet/service/hahaha/good-dev-assembly-1.0.jar --master // 스파크 마스터의 URL을 적어준다.The cluster manager to connect .. 2016. 5. 16.
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread 아래와 같은 오류가 발생하였다.원인은 스파크 버전이 달라서였다! ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main]java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4ce379d4 rejected from java.util.concurrent.ThreadPoolExecutor@60e14377[Running, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 1]at jav.. 2016. 5. 11.
문제해결) 로딩만 하다가 타임아웃 나는 현상.. couchbase + spring boot api 를 사용하였다.그런데..200만건 정도가 들어있는 상태에서 api로 조회를 하니..loading..만 하다가 timeout이 되면서 죽는 현상이 발생!! 1. spark(scala)로 데이터를 적재하는데 있어서 warning이 발생. 혹..이것 때문에? 라는 생각이 들었다. 왜냐하면 spark로 대량의 데이터를 적재한 뒤에 발생을 하였고 Flush를 한 뒤 1건을 넣고 조회를 하려고 해도 같은 현상이 발생 하였기 때문이다. 하지만 warning 때문은 아니고 추측하기에 Flush를 하여도 완전한 delete를 하는 것은 아니고 marking했다가 이녀석은 del 상태군..pass~! 하면서 전체를 풀 스캔을 하는것 같다. couchbase를 재부팅하고 다.. 2016. 4. 19.
couchbase와 같은 키/벨류의 key design?? 오픈소스로 키/벨류의 형태의 스토리지들이 많이 있다. Redis나 couchbase등이 그 예이다. 이러한 스토리지들에 저장을할 때 고려사항으로 key를 어떤식으로 만들어야할 지 고민이 되어진다.왜냐하면 이러한 key들은 한정되어진 범위를 가지고 있다. couchbase의 경우는 250byte로 제한을 둔다. 또한 이러한 key들의 무결성을 보장되어야 한다. 그렇지 않으면 데이터의 유실이 발생할 수가 있다.그래서 생각했던 것이 Hash였다. 그러나 자바진형의 String에서 제공되어지는 Hash는 중복의 염려가 있다고 한다.그래서 SHA-1 + Base64 Encoding(urlSafe)를 선택 하였다.아래는 스칼라 코드이며 해당 키는 아래의 소스를 통해 "IbDNShu-PGxJtnsUVuDJLv-aJo.. 2016. 4. 15.
(기초) 스칼라 데이터 구조(컬렉션) 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.. 2016. 3. 25.
(기초) 스칼라 문법 참고 사이트 : 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.. 2016. 3. 25.
반응형