분류 전체보기 (42) 썸네일형 리스트형 [글또] 판다스란? (feat. Dataframe) Python에서 데이터를 다룰 때 필수적인 라이브러리인 Pandas를 소개합니다. 이제 막 데이터를 다루기 시작한 분들을 대상으로 작성해봤습니다. 1. Pandas란? 데이터로 일하는 사람들은 데이터를 어떻게 다룰까요? 데이터를 다루는 방법에도 여러가지 방법이 있습니다. 가장 간단하게는 우리가 자주 접하는 엑셀을 통해서 데이터를 편집하기도 하고요, DB에 직접 접근해서 데이터를 가져오는 SQL도 있습니다. 여러가지 방법들 중 이 포스팅에서는 Python이라는 프로그래밍 언어를 통해서 데이터를 다루는(핸들링)하는 방법에 대해서 소개를 하려고 합니다. 먼저 Python에 대해서 잠깐 이야기를 해보면, Python은 원래는 서버단을 다루기 위한 언어로 나왔지만 Python만의 간결하고 배우기 쉬운 특성 덕분에.. [인사이트] 영화 후기: 타다(TADA) 대한민국 스타트업의 초상 타다금지법에 얽힌 스타트업 타다(TADA)를 다룬 다큐멘터리 영화를 보고 느낀 점을 메모합니다. 타다금지법에 관한 영화였다. 마지막 상영일에 가까워져서야 상영소식을 접하고 보고왔다. 정말정말 어려운 비즈니스 영역이다. 법적인 부분의 갈등 요소가 있는 사업영역에서 성공하는 것은 정말 어려운 일이라는 점을 다시 한번 느꼈다. 타다의 구성원들을 보면 다들 동기부여가 정말 잘되어있다. 어느 누구도 어떤 회사에 가도 1인분 이상을 거뜬히 할만한 능력자들이라는 생각이 들었다. 한편으로는 어떻게 저런 인원으로 팀을 충원이 가능했을지 궁금하기도 했다. 영화 내용 중 과거 성공방정식에 얽메이지 않아야 한다고 했으나 과연 타다는 과거 성공 방정식에서 자유로웠는지는 생각거리다. 영화는 타다의 시선으로 흐른다. 반대편인 택시.. [글또] 스칼라와 친해지기 (개념/설치/문법) Java에서 갈라져 나온 언어인 스칼라를 정리해보자 1. 소개 - 스위스 로잔 연방 공과대학교(EPFL)의 마틴 오더스키(Martin Odersky)가 개발했다. - 자바의 제너릭 설계에도 참여했던 마틴 오더스키가 설계 도중 창안 - 그렇기 때문에 자연스럽게 스칼라도 Java 계열의 언어이며 JVM위에서 동작하도록 고안되었다. - Scalable language를 줄여서 Scala가 되었다고 한다. - 초기 학습곡선이 꽤 높다고 한다. (무엇이 다른 언어에 비해 초기학습곡선을 높게 만든걸까?) - 미국에서 2018년부터 현재까지 프로그래머 연봉 1위의 언어라고 한다. - 아마 빅데이터 엔지니어링 관련하여 Spark과 호환이 가장 좋은 언어이기 때문이지 않을까 생각중. - 빅데이터 엔지니어 연봉 = 스칼라.. [글또] Spark 정리하기(2/2) - Dataframe, Dataset 스파크의 데이터구조 개념중 Dataframe과 Dataset에 대하여 정리합니다. Dataframe 기존의 RDD한계 때문에.. 메모리나 디스크에 저장공간이 충분하지 않을 경우 동작하지 않음 구조화 데이터와 비구조화 된 데이터를 함께 저장하여 효율성 감소 직렬화(JAVA)와 Garbage Collection을 사용하여 메모리 오버헤드 증가 별도 최적화 엔진 별도로 존재하지 않음 > 최적화 작업이 필요 .. Spark 진영에서는 1.3v 부터 Dataframe 개념을 도입 Schema RDD라고 불리기도 함 기본적으로 Structured Data 구조로 이루어지게 된다. 행과 열이 존재하며 그렇기 때문에 SparkSQL등을 통해 SQL 질의를 처리할 수 있게 된다. (1.3v 이후로 가장 큰 장점) GC(.. [글또] Spark 정리하기 (1/2) - 개념, RDD 다른 분들이 정리해주신 블로그 기록을 따라가며 개인적으로 정리를 시작! Spark이란? - Spark은 "General Purpose High Performance Distributed Platform (범용 목적의 분산 고성능 클러스터링)"이다. - Spark이 처음에는 SQL과 같은 데이터 연산 처리를 위한 하나의 문법 정도가 아닐까 하고 막연하게 생각하고 있었는데 기존 정리된 블로그들을 따라가다보니 하나의 데이터 처리 플랫폼 라이브러리에 가깝다는 생각이 든다. 하나의 노드로는 처리하기 힘든 대규모의 데이터를 여러개의 분산된 노드들을 통해 데이터를 처리할 수 있도록 도와주는 데이터 처리 플랫폼. - 그렇기 때문에 Spark 클러스터/플랫폼 위에서 SQL을 수행하는 것은 물론이고, ML라이브러리 (Ex.. [글또] 아마존 레드시프트(AWS Redshift) 이해하기 회사에서 사용하고 있는 데이터 웨어하우스인 AWS Redshift를 아무런 고민없이 사용하다가 어떻게 돌아가는지 궁금해서 한번 알아보았습니다. 김용우 님의 글을 주로 참고했습니다. (링크) 레드시프트(AWS Redshift) - 레드시프트는 아마존 웹서비스에서 제공하는 대용량 병렬처리 관계형 데이터 웨어하우스 서비스 - 일반적인 트랜잭션을 위한 데이터베이스보다는 분석목적의 데이터 저장소에 가깝다 - 병렬처리 관계형 데이터베이스로 리더 - 팔로워 노드 기반의 연산을 수행 - 외부 서비스와의 통신은 오로지 리더 노드(Leader Node)에서만 이루어지게 됨 - 데이터의 업데이트는 S3를 경유하여 이루어짐 - Compute Node의 경우 이론상 여러개로 무한 증식이 가능 - 기존 사용하던 리더 - 팔로워 .. [글또] 글또 6기를 시작하면서 Why 글또? 나는 왜 글또에 지원했나 2021년의 나는 데이터 엔지니어링 역량을 지향하고 있고 그 역할을 회사에서 성공적으로 수행하기 위해 부족한 부분을 채워나가는 중에 있다. 2020년까지의 나는 데이터 분석 포지션을 지향하며 ML이나 분석 프레임 등에 대해 알아가기 위해 시간을 쓰려고 했지만 방향을 틀었고 지금은 그 쪽 방향에 시간을 쓰는 것을 멈춘 상태이다. 지금 회사는 어린아이를 가진 부모님들을 타겟으로 하고 있는 스타트업이고, 여기서 데이터 엔지니어 포지션을 담당하고 있다. MSA 구조의 서비스를 운영하는 회사라서 데이터가 여기저기 흩어져 있는데 그것들을 모으는 데이터 레이크/마트를 구축하고 운영관리 하는 일이 주된 업무이다. 이 데이터를 가장 많이 찾는 사람들은 개발팀 외의 현직 분들이다. .. [네트워크] HTTP 정리 - 헤더/캐시 인프런에서 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 수강하고 정리한 문서입니다. (더 자세한 내용은 강의를 참고) HTTP Header(헤더) - 기본 개요 헤더에는 HTTP 전송에 필요한 모든 부가정보가 들어있다. 메시지 바디의 내용, 바디의 크기, 서버 정보, 캐시정보... 메시지 바디의 데이터를 해석할 수 있는 정보를 제공해준다. (데이터유형, 데이터 길이 등) 표현방식: header-field = field-name ":" OWS field-value OWS Ex; Content-Type: text/html;charset=UTF-8 표현 (Representation) 기존 RFC2616 에서 사용되던 엔티티(Entity)라는 용어가 폐기되고.. .. 표현(Representa.. [네트워크]HTTP 정리 - 기본 개념 인프런에서 김영한님의 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 수강하고 정리한 문서입니다. (더 자세한 내용은 강의를 참고) HTTP 기본 (1/2) HTTP란? Hyper Text Transmission Protocol의 약자 클라이언트-서버 아키텍쳐에서 통신을 위해 사용되는 프로토콜의 하나 현재 구현되어 있는 웹, 앱 등 대다수의 아키텍쳐는 이 HTTP 기반으로 구성되어있음 따라서, IT서비스 뿐만 아니라 데이터를 주고 받는 통신을 알기 위해서는 HTTP에 대한 이해가 필수 HTTP를 이해하기 위한, 인터넷 네트워크 기본 Internet Network 네트워크 상의 통신 규약 중 하나인 HTTP(Hyper Text Transmission Protocol)은 약속 IP (인터넷 프로토콜) .. [시행착오노트] MySQL rank 함수 구현 활용? 그룹별 rank를 row별로 사용할 때 활용 랭크 순위 기준을 order by를 통해 적용, 그룹 기준을 partition by를 통해 적용 다수의 컬럼에 적용 가능 MySQL에서는 기본 제공되지 않은 함수로 커스터마이징하여 활용해야함 ORACLE, Redshift 등 다른 RDB 내의 함수 select rank () over (partition by GROUP_COL order by ORDER_COL) as rank_colname My SQL 예시 select * from ( select @ROW_NUM := IF(@PREV_VALUE = A.GROUP_COLNAME, @ROW_NUM + 1, 1) AS ROW_NUMBER, @PREV_VALUE := A.GROUP_COLNAME, A.* fro.. 이전 1 2 3 4 5 다음 목록 더보기