본문 바로가기
반응형

Data Platform52

데이터 플랫폼에서 데이터는 어떻게 흘러갈까? 데이터플랫폼이란?데이터의 수집, 스토리지, 정리, 변환, 분석 및 거버넌스를 가능하게 하는 기술 솔루션데이터플랫폼에는 하드웨어와 소프트웨어 구성요소가 모두 포함 될수 있음조직은 데이터를 좀 더 쉽게 사용하여 의사결정 및 운영을 개선할 수 있음데이터플랫폼의 유형엔터프라이즈 데이터플랫폼(EDP)빅데이터 플랫폼(BDP)클라우드 데이터 플랫폼(CDP)고객 데이터 플랫폼(CDP)데이터가 어떻게 흘러가는지 이해하기Data Platform Architecture효과적인 데이터 관리를 구성하는 5가지 주요 계층1) Data Ingestion Layer(데이터 수집)2) Data Storage Layer(데이터 저장)3) Data Processing Layer(데이터 처리)4) User Interface Layer(사용.. 2025. 2. 17.
백엔드 개발자가 데이터 플랫폼 팀으로 이동하면? 첫번째, 마음가짐처음은 다 어렵다 아직 익숙치 않아서 어렵다.설레임 반 두려움 반 그러나 금방 적응할 것이다.빠른 빌드업을 통해 내껄로 만들자! ㅈㄴ 재밌다!!! 두번째, 비즈니스, 기술 도메인 파악!여기서 도메인이란 특정한 업무영역(비즈니스 도메인)과 기술영역(기술 도메인)을 의미비즈니스 도메인 : 특정산업이나 업무분야를 의미하며 고객에게 제공하는 서비스를 의미 함.예) 이마트는 유통서비스를 제공, KT는 통신 서비스를 제공, 토스뱅크는 은행 서비스를 제공검색서비스 안에 하위 도메인으로 보면 웹 서비스 제공 → 데이터플랫폼 서비스 제공기술 도메인기존 : Spring Boot 기반 웹 API 개발 → 웹 서비스 중심지식그래프를 구축하고 이를 기반으로 데이터를 서빙검색 성능 최적화 및 연관성 높은 결과 제.. 2025. 2. 17.
알아두면 좋은 Kafka 이모저모 :) Kafka란?데이터파이프라인 구축에서 꼭 들어가는 친구 입니다.그런데 아직 경험해보지 못했습니다...!!경험할 기회가 있다면...꼭! 경험해보고 싶습니다:)그 날을 위해 Study~!! GoGo!어색한 용어들과 개념들부터 정리해보도록 합니다.우선 데이터 파이프라인(Data Pipeline)이란?데이터의 흐름을 자동화하는 프로세스를 의미합니다.다양한 출처에서 데이터를 수집하고 변환하고 처리한 후에 저장하거나 분석 도구에 전달하는 일련의 단계를 포함 합니다.데이터 파이프라인의 유형은배치 처리와 실시간 처리가 있습니다.요 근래에 Airflow라는 친구를 알게 되었는데 데이터 파이프라인 도구 중 하나 입니다.또한 kafka 역시 실시간 스트리밍 데이터 처리를 위한 데이터 파이프라인 도구 중 하나 입니다.그런데 .. 2024. 9. 16.
Hadoop을 학습해보자 ㅋㅋ Hadoop은?Hadoop은 Big Data를 처리하고 분석하는데 사용되는 OpenSource Software Framework 입니다.저렴한 하드웨어로 구성된 분산 시스템에서 페타바이트 규모의 데이터를 처리 할 수 있도록 설계data를 분석 할 때 나눠서 분석하고 합치면 되므로 빠르다.저장된 데이터를 변경하는 것이 불가능하고, 실시간 데이터와 같은 신속한 작업에서는 부적합하다.Hadoop 구성요소HDFS(Hadoop Distributed File System)Hadoop 분산 파일 시스템데이터를 저장하는 분산형 file system으로 실시간처리보다는 배치처리 목적으로 설계 → 작업량이 작거나 빠른 데이터 응답이 필요한 작업에는 적합하지 않음데이터를 여러 노드에 분산저장하여 처리 속도를 높입니다.Nam.. 2024. 7. 9.
Hadoop이란? 구성요소? 용어? 요즘은 AI의 시대가 되었지만 10년전만 해도 빅데이터 열풍이 불었었다.당시 사내에서 해주는 하둡교육을 들었었는데 지금은 1도 기억이 나지 않는다 하하;;2013.06.04 - [BigDATA/Hadoop] - [하둡교육 2일차] Hadoop 설치2013.06.05 - [BigDATA/Hadoop] - [하둡교육 3일차] Zookeeper2013.06.05 - [BigDATA/Hadoop] - [하둡교육 3일차] Pig그나마 블로그에 끄적인 내용 덕분에 살포시 기억이 난다 ㅎㅎ여차저차해서 하둡을 다시 공부해보려고 한다.오늘은 용어를 익혀보자! 하둡(Hadoop) : hadoop은 대용량 데이터를 분산처리 할 수 있는 자바 기반의 오픈소스 프레임워크 입니다.HDFS(Hadoop Distributed Fil.. 2024. 7. 2.
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 - 파티셔너(Partitioner)&셔플링(shuffling) 파티셔너에 의해 RDD 파티셔닝이 실행된다. 파티셔너는 파티션 인덱스를 RDD 엘리먼트에 할당한다. 동일 파티션에 존재하는 모든 엘리먼트는 동일한 파티션 인덱스를 가질 것이다. 스파크는 HashPartitioner와 RangePartitioner라는 두개의 파티션이 있다. (사용자 정의 파티셔너도 구현 가능!) HashPartitioner Spark의 기본 파티셔너이고, RDD 엘리먼트의 각 키에 대한 해시값을 계산한다. 동일한 해시 코드를 가진 모든 엘리먼트는 다음 코드처럼 동일 파티션을 얻는다. hashCode()를 사용해 3으로 설정된 파티션 개수를 기반으로 각 엘리먼트마다 partitionIndex를 얻을 수 있다. RangePartitioner RangePartitioner는 RDD를 거의 동일.. 2022. 3. 10.
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-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.
반응형