🌿 Data Engineering64 JSONPath 라이브러리와JSON파싱(load/dump/loads/dumps) 어디서 알게 되었나? 프로젝트를 진행하다가 jsonpath라는 라이브러리를 써야해서 추가로 알아보았따. s3로 datalake를 구현하면서 계층구조를 가지고 있는 api데이터를 jsonpath를 사용해서 변형했다. 예를 들면 이런식으로 사용했다. 그땐 이렇구나~라고 넘어갔지만 이제 본격적으로 알아보자. for track in raw['tracks']: # i는 하나의 트랙 #s3에 넣기 위한 flat한 데이터로 변환 top_track = {} for k, v in top_track_keys.items(): value = jsonpath.jsonpath(track, v) # 해당 위치에 데이터가 없으면 False를 리턴(bool type). 이럴 경우 다음 컬럼으로 넘어감 if type(value) == .. 2021. 6. 26. [Python] Pandas 사용법 pd_data=pd.DataFrame.from_dict(dict_data,orient='index') pd_data=pd_data.transpose() result = pd.concat(data_list,ignore_index=True) stml.tistory.com/18 [pandas] append & concat-여러 텍스트 파일을 for 문으로 불러서 하나로 합치기 연도별로 같은 변수를 가진 데이터가 있다. year라는 열을 새로 만들면서 전체 파일을 하나로 합치고 싶음. - 숫자부분을 의미하는 정규표현식 %d 라는 표현을 써서 폴더명의 뒤에 년도 부분이 계 stml.tistory.com +각자 하나씩 dataframe을 갖고 있었는데, 그래프를 그리기 위해서 하나의 데이터프레임으로 만들어야했다. .. 2021. 4. 28. [Spark] Apache Spark 실행하기 | Local에서 Spark설치 와 이제 본격적으로 spark를 설치해서 해볼 준비가 되었다. 오늘의 목표는 Spark설치하기..그냥 무작정해보기.. * pyspark와 spark차이점은? * pyspark를 쓰려면 그냥 spark는 다운받지 않아도 되는건가? * 왜 하둡을 받아야하는거지? * spark를 시작하려면 코드를 처음에 어떻게 써야하지? 근데 아직 감을 잡지 못했다. 아직 잘 와닿지 않는다. Spark 설치하기 나는 python으로 spark를 사용할 것이다. 즉, pyspark를 사용할꺼다. 간단하게 python에서 pip으로 설치하면 바로 spark를 쓸 수 있다고 생각했다. (현재 로컬환경은 python,java이미 설치된 상태) 물론 되긴 되지만, winutils도 없고, 하둡 디렉토리를 가져올수 없다며 하둡환경이 아.. 2021. 4. 22. [Spark] Apache Spark란? | 구조 및 동작방식 앞서 Apache Spark의 정의를 파악하기까지 나름 머나먼 여정이였다. 2021.04.21 - Apache Spark란? | Spark정의를 알아보기까지 빅데이터흐름 2021.04.21 - Apache Spark란? | 빅데이터 처리단계 -수집과 저장/ETL/HBase 2021.04.22 - Apache Spark란? | 빅데이터 처리단계-분산처리/하둡/맵리듀스 이제 본격적으로 Spark를 알아보려고 한다. Spark는 4가지 기능을 제공한다. 또한 Scala언어로 만들어졌지만, Java, R,Python 등 프로그래밍 언어API도 제공한다. 머신러닝을 위한 ML Lib 실시간 처리와 방대한 연산을 위한 Structured Streaming도구 구조화된 데이터를 처리하기 위한 Spark SQL 그래프.. 2021. 4. 22. [Spark] Apache Spark란? | 빅데이터 처리단계-분산처리/하둡/맵리듀스 spark를 알기위해 거의 다왔다. 빅데이터 처리단계로 수집과 저장단계를 지나 처리단계이다. 처리 데이터분석을 하기에 앞서 몇가지 데이터처리가 필요하다. 즉 분산처리가 필요하다. 병렬처리 vs 분산처리 분산처리란 해야하는 한가지 일을 여러 컴퓨터들에게 나누어서 동시에 처리한 뒤 한곳으로 모으는 방법이다.. cpu들을 네트워크로 연결하여 전체적인 일을 부분부분으로 나누니까 더 빨리 처리할 수 있다. 병렬처리란 동시에 많은 계산을 하는 방법이다. 여러일을 동시에 한꺼번에 처리하는 것이다. 이 둘의 공동점은 일을 '동시에' 처리한다는 것이다. 하지만 분산처리는 동시에 여럿이서 하나의 일을 하고, 병렬처리는 동시에 여러일을 처리한다. 어떻게 처리하는데? 처리방법이 있나? 1.일괄처리(Batch 처리) 컴퓨터 프.. 2021. 4. 22. [Spark] Apache Spark란? | 빅데이터 처리단계 -수집과 저장/ETL/HBase Spark를 알아보기 위해 빅데이터 처리의 5단계를 알아보았다. 이제 그 각각의 단계를 조금 자세히 살펴보겠다. 특히 여기 수집과 저장단계는 늘 관심있는 분야였기에 자주 많이 들어봐서 그래도 익숙했다. 수집 데이터는 어디에서 수집될까? 크게 외부와 내부로 나누어진다. 내부는, 자체적으로 보유한 내부파일시스템, RDBMS에 저장된 데이터들 -> 정형데이터일 것이고 외부는 무궁무진하다. 외부이미지,영상,문서,텍스트 등 그 어떤것이든 다 수집할 수 있는 데이터다. 어떻게 수집하는가? 내가 가장 와닿고 가장 많이 해본순서대로 나열하자면 1.크롤링 인터넷에 공개되어 있는 데이터들을 수집하는 것이다. (Python으로 셀레니움이나 beautifulsoup 라이브러리를 이용했다) 2. OpenAPI와 RSS리더 필요.. 2021. 4. 21. [Spark] Apache Spark란? | Spark정의를 알아보기까지 빅데이터흐름 Spark란? 한마디로 정의하면 빅데이터처리를 위한 오픈소스 분산처리 플랫폼 또는 빅데이터 분산처리엔진이다. 이 한 줄에서 내가 궁금한점은 이렇다 - 빅데이터란? - 빅데이터 처리란 무엇인가? - 분산처리는 또 무엇인가? 그래서 위의 내용을 토대로 spark가 무엇인지 오늘 공부해보려고 한다. 빅데이터(Bigdata)란? 기존의 데이터베이스, 데이터베이스관리형시스템을 넘어 정형,반정형,비정형데이터를 포함한 다양한 데이터로부터 의미있는 가치를 추출하고 원하는 결과를 분석하는 기술이다. 즉, 큰 데이터로부터 유의미한 지표를 분석해내는 것으로 정의할 수 있다 예를 들어 SNS,로그,문서 등 다양한 경로를 통해 수집한 여러형태의 데이터를 이용하여 의사결정에 도움을 주는 지표를 분석하여 제공하는 것이다. (출처 .. 2021. 4. 21. Airflow 한번 맛보기 | Apache Airflow란? 데이터엔지니어 자격요건에 꼭 나왔었다. 그래서 도대체 뭐길래 항상 있는걸까 궁금했고, 한번 접해보고 싶었다. 심지어 aws what's new 소식을 정리했을 당시에도 Airflow를 관리형으로 쓸 수 있는 서비스가 탄생했었다. 아마 이거였따. MWAA (Managed Workflows for Apache Airflow) 그래서 꼭 데이터엔지니어가 되서 이 서비스를 써볼 날을 꿈꾸고 있다 2021. 4. 16. [kafka 기초] Spring boot웹 Producer->Kafka구현(Intellij 환경) 걍 로컬환경에서 Kafka 구축해서 테스트해봤는데 잘 안됐었다. 그리고 java로 컨슈머랑 프로듀셔도 만들어서 직접 데이터 전송되는걸 확인해보려고 했다... 하지만 java를 그냥 쓰기엔 흐지부지되어버렸었다. 그래서 이왕 이렇게 된 겸 intellij도 설치해봤다. [JAVA]Intellij IDE 설치 | JAVA 설치 | JDK 다운로드 이클립스는 너ㅓㅓ무 질렸다. 내가 그동안 자바에 끌리지 않는 이유도 다 안예쁜 이클립스 탓.... 그래서 새로운 툴을 써보고 싶어서(?) 다시 자바에 눈을 돌렸다.. 헐키 학생인증하면 ulitmate 라이 pearlluck.tistory.com 아 그리고 intellij는 커뮤니티 말고 utlimate버전으로(학생인증받아서) 그리고 이렇게 된겸 간단한게 spring .. 2021. 3. 28. [kafka 기초] 카프카 실행하기(단일브로커) 일단 각각의 3개의 서버에 카프카와 주키퍼가 설치된 상태이다. 그리고 서버3은 주키퍼리더고, 나머지는 팔로워다. 이전까지 aws에 구성한 카프카 클러스터는 '서버'다. 즉 메세지를 처리하는 부분이긴 하지만 데이터를 주고받는 테스트를 위해서는 '클라이언트'가 필요하다. 그리고 python으로 컨슈머와 프로듀서를 구현해보도록 하자. 아, 그 전에 브로커의 클러스터를 생성했는데 이 각각의 브로커안에 데이터를 저장할 '토픽'이 필요하다 그래서 일단1개의 브로커 즉 하나의ec2 서버에서만 테스트를 해볼 것이다. 안에서 topic을 생성해보고, 프로듀셔/컨슈머끼리 메세지가 전송되는지 확인 *단일브로커(ec2) 1. kafka 서버 실행한 상태 [root@ip-172-31-11-151 kafka_2.11-2.1.0].. 2021. 3. 26. 이전 1 ··· 3 4 5 6 7 다음