목록Data Engineer (36)
취미가 좋다
카프카 실시간으로 대용량 스트리밍 데이터를 처리하는 메시지 큐 플랫폼 풀어서 설명 데이터를 주고받는 굉장히 많은 어플리케이션과 DB 들이 있다. 이 많은 데이터 파이프라인을 관리하기란 어렵다. 파이프라인의 중간 통로로 카프카를 사용해서 데이터를 카프카에 넣고 데이터를 카프카로부터 꺼내가도록 한다. 높은 처리량, 확장성, 영속성, 고가용성의 장점을 통해 데이터 파이프라인을 안전하고 확장성 높게 운영할 수 있다. 브로커 데이터를 저장하고 관리하는 서버 주로 여러 서버를 묶어서 클러스터로 운영한다. 컨트롤러 클러스터 내 브로커 중 한 대가 수행 클러스터 내 브로커가 죽으면 그 브로커가 가진 리더 파티션을 재분배한다. 코디네이터 클러스터 내 브로커 중 한 대가 수행 컨슈머 그룹의 상태를 체크하고 파티션과 컨슈머..
하둡 에코시스템은 빅데이터를 효율적으로 다루기 위한 프로젝트들의 집합니다. 빅데이터 저장을 위한 HDFS 빅데이터 처리를 위한 MapReduce 두 가지를 코어 프로젝트 외에도 많은 프로젝트들이 존재한다. 자바 기반의 프레임워크이다. HDFS MapReduce YARN Sqoop Hive IMPALA KUDU Ranger HUE Zookeeper nifi Oozie Ozone Spark Kafka Cassandra Pig STORM FLUME Tajo MAHOUT Ambari HDFS - 하둡 네트워크에 연결된 기기에 데이터를 분산해서 저장한다. - 분산된 데이터는 복사본(보통 3개)을 만들어 나누어 저장하기 때문에 높은 가용성을 가진다. - 고가용성(high ability) : 하나가 문제가 생겨도 안..
unique 함수 unique() 함수 행에서 유니크한 값을 뽑을 때 사용한다. 중복되는 job들은 한 번씩만 나오도록 해서 job의 종류를 알 수 있다. value_counts 함수 value_counts() 함수는 위의 각 job마다 몇 개의 데이터가 있는 지 알 수 있다. 두 개의 데이터 프레임을 합치는 방법 2가지를 소개한다. concat 함수 / append 함수 concat() 함수와 append() 함수로 행을 추가할 수 있다. 데이터를 열로 합칠 때는 axis=1로 설정하여 concat() 함수를 사용할 수 있다. 간단하게 선언을 통해서 합칠 수도 있다. https://youtu.be/cMsw0DzsezU
apply 함수 데이터프레임의 각 행 혹은 열에 연산을 적용할 때 for문 대신에 사용할 수 있다. apply의 첫 인자로 함수 이름이 들어가고 그 뒤로는 함수의 인자들을 지정하여 넣을 수 있다. axis=1을 넣으면, 해당 열의 값들을 활용할 수 있다. axis에 따른 함수 실행의 차이이다. map 함수 map() 함수는 apply() 와 비슷하게 사용할 수 있다. 아래는 map 대신 apply를 사용해도 똑같이 사용할 수 있다. 특정 데이터를 다른 데이터로 대체할 때 아래와 같이 쉽게 사용할 수 있다. applymap() 특정 열이 아니라 모든 열에 적용하고 싶을 때는 applymap()을 사용한다. 아래는 모든 열에서 반올림을 실시했다. https://youtu.be/EHaDMTjCh5s
None 값 찾기 df.info() 함수에서 데이터프레임의 정보를 볼 수 있고, non-null 데이터의 개수를 알 수 있다. df.isna(), df.isnull() 함수를 통해 null 값을 찾을 수 있다. fillna() 함수를 통해 null인 값에 새로운 값을 넣을 수 있다. 아래에 0.0이 나이로 들어간 것을 볼 수 있다. 지금까지 배운 것을 활용하여 0이 아니라 각 직업의 median 값을 넣도록 한다. job으로 그룹을 묶고 age만 본다. 그 값들의 median을 가져오고 fillna로 채운다. inplace를 통해 반환하지 않고 값의 변화가 적용되도록 한다. https://youtu.be/UUZdpgKysGQ
중복 데이터 삭제하기 duplicated() 함수로 각 인덱스 별로 중복 여부를 알 수 있다. drop_duplicates() 함수로 중복된 데이터를 쉽게 삭제할 수 있다. 중복의 기준 변경 중복의 기준을 인자를 통해 새로 설정할 수 있다. 아래는 중복의 기준을 name으로 하여 다른 데이터가 다르더라도 이름이 같으면 중복처리하여 삭제한다. keep 인자를 통해 앞의 데이터와 뒤의 데이터 중 어느 것을 살릴 것인지 결정할 수 있다. 'first', 'last' 중 살릴 것을 선택해서 넣으면 되고 default는 'first'이다. https://youtu.be/p6qEgqjv-H4