본문 바로가기

빅데이터

(11)
텍스트 다루기 텍스트 정제하기 # 텍스트 생성 text = [" Interrobang. By Aishwarya Henriette ", "Parking And Going. By Karl Gautier", " Today Is The night. By Jarek Prakash "] # 공백문자 제저 strip_whitespace = [string.strip() for string in text] # 텍스트 확인 print(strip_whitespace) # 출력 ['Interrobang. By Aishwarya Henriette', 'Parking And Going. By Karl Gautier', 'Today Is The night. By Jarek Prakash'] # 마침표 제거 remove_peridos = [str..
범주형 데이터 다루기 순서가 없는 범주형 특성 인코딩하기 import numpy as np from sklearn.preprocessing import LabelBinarizer, MultiLabelBinarizer # 특성 생성 feature = np.array([["Texas"], ["California"], ["Texas"], ["Delaware"], ["Texas"]]) # 원-핫 인코더 생성 one_hot = LabelBinarizer() # 특성을 원-핫 인코딩 print(one_hot.fit_transform(feature)) # 결과 [[0 0 1] [1 0 0] [0 0 1] [0 1 0] [0 0 1]] # 특성의 클래스 확인 print(one_hot.classes_) # 결과 ['California' 'D..
수치형 데이터 다루기 특성 스케일 바꾸기 - 최소 최대 스케일링은 특성의 최솟값과 최댓값을 사용하여 일정 범위 안으로 값2을 조정한다. import numpy as np from sklearn import preprocessing # 특성 만들기 feature = np.array([[-500.5], [100.1], [0], [100.1], [900.9]]) # 스케일러 객체 생성 minmax_scale = preprocessing.MinMaxScaler(feature_range=(0, 1)) # 특성의 스케일을 변환 scaled_feature = minmax_scale.fit_transform(feature) # 출력 print(scaled_feature) # 결과 [[0. ] [0.42857143] [0.35714286] ..
파이썬으로 웹 크롤링하기(4)최대 페이지 이전 글에서는 페이지 번호를 내가 지정해서 그 페이지까지 크롤링을 하였지만 최대 페이지를 모르는 경우도 있고 여러가지 상황이 있을 수 있다. 다음 소스코드는 최대 페이지까지 크롤링을 진행하여준다. -소스코드 import requests from bs4 import BeautifulSoup import pandas as pd from selenium import webdriver from openpyxl import Workbook import os import time def get_data(url): name = list() author = list() price = list() options = webdriver.ChromeOptions() chromedriver_path = (r'C:/Users/e..
파이썬으로 웹 크롤링하기(3) 동적 페이지 이전까지의 크롤링은 정적으로 변하거나 한 페이지만 크롤링을 하였다. 예를 들어 다음 페이지를 눌렀는데 URL 주소가 변하지 않고 그대로라면 이전 방식으로는 크롤링을 할 수 없다. 이러한 상황에서 크롤링을 하기 위해서는 chromedirver와 파이썬 라이브러리인 selenium이 필요하다. 우선 교보문고의 국내도서 -> 소설 -> 베스트셀러 경로로 들어가보자. 첫 페이지의 URL은 http://www.kyobobook.co.kr/categoryRenewal/categoryMain.laf?perPage=20&mallGb=KOR&linkClass=01&menuCode=002이다. 다음 페이지로 넘겨보아도 URL은 http://www.kyobobook.co.kr/categoryRenewal/categoryMa..
3.하둡-YARN -YARN 클러스터 리소스 관리 및 애플리케이션 라이프 사이클 관리를 위한 아키텍처 YARN은 잡트래커의 기능을 분리하여 자원을 관리하는 리소스 매니저와 노드매니저, 애플케이션 라이프 사이클 관리하는 애플리케이션 마스터와 컨테이너로 구성 YARN-Schduler 리소스 매니저는 클러스터 자원을 관리하고 애플리케이션 마스터의 요청을 받아 자원을 할당한다. 자원 할당을 위한 정책을 스케줄러라고함. 하둡에서 제공하는 기본 스케줄러는 FIFO-Schduler, Fari-Scheduler, Capacity-Scheduler 가 있음. 스케줄러는 yarn-site.xml 파일에 yarn.resourcemanager.scheduler.class에 다음의 클래스명을 적어주면 수정됨 ex) yarn.resourceman..
3.하둡-맵리듀스 맵리듀스는 8단계의 처리과정을 거침 1.입력 -데이터를 입력하는 단계 2.맵 -입력을 분할하여 키별로 데이터를 처리 3.컴바이너 -데이터 전송을 줄이기위하여 맵의 결과를 정리 4.파티셔너 -맵의 출력 결과 키 값을 해쉬 처리하여 어떤 리듀서로 넘길지 결정 5.셔플 -각 리듀서로 데이터를 이동 6.정렬 -리듀서로 전달된 데이터를 키 값 기준으로 정렬 7.리듀서 -리듀서로 데이터를 처리하고 결과를 저장 8.출력 리듀서의 결과를 정의된 형태로 저장 보조 도구 -Counter 하둡에서 맵리듀스의 잡 진행 상황을 확인할 수 있는 카운터를 제공. 잡은 맵리듀스의 작업, 입출력 상황을 확인할 수 있는 카운터를 제공하고 사용자가 카운터를 생성하여 사용하기도 가능 -Distributed Cache 맵리듀스 잡에서 공유되..
3.하둡-2 HDFS Federation -네임노드는 파일 정보 메타데이터를 메모리에서 관리하는데 파일이 많아지면 메모리 사용량이 늘어나 메모리 관리에 문제가 생긴다. 이를 해결하기 위해 HDFS Federation을 지원함. HDFS Federation은 디렉토리 단위로 네임노드를 등록하여 사용한다. HDFS Federation을 사용하면 파일, 디렉토리의 정보를 가지는 네임스페이스와 블록의 정보를 가지는 블록 풀을 각 네임노드가 독립적으로 관리한다. 네임스페이스와 블록풀을 네임스페이스 볼륨이라하고 네임스페이스 볼륨을 독립적으로 관리되기 때문에 하나의 네임노드에 문제가 생겨도 다른 네임노드에 영향을 주지않음. HDFS High Availability -HDFS는 네임노드가 단일 실패 지점임, 네임노드에 문제가 생기..