목록교육(KOCW, 오프라인) (8)
메모장
정규표현식 - 문자열검색(search and match) - 문자열의 부분을 변환(sub) - 작은조각으로 문자열 자르기(split) 정규식 -> appleex. Scrapple from the apple. 정규식 -> b[eor]atex. beat a brat on a boat [x]는 x의 문자 리스트중 어느 하나와 매칭ex. "[abc]"는 'a' 또는 'b' 또는 'c'와 매칭 [^x]는 x의 문자 리스트에 포함되지 않는 한 문자와 매칭ex. "[^abc]"는 'a' 또는 'b' 또는 'c'를 제외한 나머지와 매칭 "."모든 하나의 문자와 매칭괄호는 그룹으로 만들때 사용ex. "(abc)+"는 'abc', 'abcabc', 'abcabcabc'등과 매칭 x|y는 x 또는 y와 매칭ex. "this..
스파크 - 하둡과는 달리 메모리를 이용한 데이터 저장방식을 제공 - 머신러닝 등 반복적인 데이터 처리가 필요한 분야에서 높은 성능을 보여줌 - 스파크2.0부터는 자바, 스칼라, 파이썬, R스크립트로도 스파크 애플리케이션 작성 가능 스파크 라이브러리스파크SQL: 하이브와 연동이 가능한 스키마기반 데이터분석 모듈스파크 스트리밍: 실시간 스트리밍 데이터를 다루는 모듈GraphX: 그래프 알고리즘 처리 모듈SparkR: 통계분석프로그램인 R과의 연동을 지원하는 모듈MLlib: 머신러닝 알고리즘 수행 모듈 하둡 파일시스템 기본적인 동작 방법 - 분석할 데이터를 하둡파일시스템인 HDFS에 저장해 두고 HDFS상에서 맵리듀스 프로그램을 이용해 데이터를 처리 - 하둡파일시스템은 하나의 네임노드와 여러개의 데이터노드로 ..
RDD(Resilient Distributed Dataset) - Resilient: 메모리 내에서 데이터가 손실되는 경우, 다시 생성할 수 있다. - Distributed: 클러스터를 통해 메모리에 분산되어 저장된다. - DataSet: 초기 데이터는 파일을 통해 가져올 수 있다. - RDD는 스파크에서의 기본적인 데이터의 단위 대부분의 스파크 프로그래밍은 RDD를 통한 동작으로 구성된다. RDD생성 방법1. 텍스트파일로 생성ex.sc.textFile("myfile.txt")sc.textFile("mydata/*.log")sc.textFile("myfile1.txt, myfile2.txt") 2. 메모리에 있는 데이터를 통해 생성ex.num = [1,2,3,4]rdd = sc.parallelize(nu..
15강python basics operators>>> 1+12 >>> 2*36 boolean operators>>> 1==0false >>> not (1==0)true >>> (2==2) and (2==3)false >>> (2==2) or (2==3)true Strings관련+ operator>>> 'artificial' + "intelligence"'artificialintelligence' >>> 'artificial'.upper()'ARTIFICIAL' >>> 'HELP'.lower()'help' >>> len('Help') length4 >>> s = 'hello world'>>> print shello world>>> s.upper()'HELLO WORLD' lists관련>>> fruits =..
하둡Hadoop - HDFS -> 스토리지 담당Hadoop - MapReduce -> 계산 담당 흐름Job = HDFS에서 read -> key,value형식 -> Mapper에서 key,value쌍의 형태로 데이터를 읽음 -> Shuffle로 합침 -> [] key,value쌍을 list로 만듬Reduce -> -> HDFS파일로 write MapReduce는 java나 python으로 개발개발Task(driver, mapper, reducer) HIVE탄생배경 - 맵리듀스 프로그래밍은 데이터분석가들이 하기에는 너무 어려움 - 재사용불가, 에러발생율 높음 - 데이터분석가들은 프로그래밍은 못하지만 sql은 사용가능 페이스북에서 HQL이라는 SQL과 유사한 언어로 맵리듀스를 대체할 HIVE를 개발비구조적인..
HDFS의 file저장 방식1. FILE은 block단위로 분할 - 각 block은 기본적으로 64mb 또는 128mb 크기 2. 데이터가 로드 될 때 여러 machine에 분산되어 저장됨 - 같은 file의 다른 block들은 서로 다른 machine에 저장됨 - 이를통해 효율적인 mapReduce처리가 가능 3. block들은 여러 machine에 복제되어 data node에 저장됨 - 기본 replication은 3개- 각 block은 서로 다른 3개의 machine에 저장되어 있다는 것을 의미 4. name node로 불리는 master node는 어떤 block들이 file을 구성하고 있고, 어느 위치에 저장되어 있는지에 대한 정보를 meta data로 관리 네임노드namenode daemon은..
하둡 설치... 하둡 기본 명령어 hadoop fs -ls / - hdfs안에 root 디렉토리의 내용을 봄 cd ~/training_materials/developer/data - change directory로 디렉토리로 경로 변경 tar zxvf shakespeare.tar.gz - shakespeare라는 tar.gz파일을 압축해제 hadoop fs -put shakespeare /user/training/shakespeare (hadoop fs -put(파일복사) local(로컬경로) hdfs(복사할 hdfs경로)) - 로컬파일시스템에 shakespeare 디렉토리를 HDFS상의 /user/training/shakespeare 디렉토리에 복사를 한다 put - 파일 복사 get - 파일 가져옴 ..
하둡의 역사- 1990~2000년 사이 구글에서 연구 기존 분산 컴퓨팅의 문제점을 해결할 수 있는 새로운 접근 방법- reliability와 scalability 문제를 모두 해결- Core concept: 초기 데이터를 시스템에 분산하여 저장- 클러스터의 각 노드가 로컬 데이터에 대한 작업을 처리- initial processing을 위해 네트워크를 통해 데이터가 전송되지 않음 분산처리 시스템문제점1. 복잡한 프로그래밍(데이터와 프로세스의 sync 유지)2. Partial failures: 수많은 컴퓨터를 사용하는 경우 일부의 컴퓨터가 고장나는 경우 파셜 페일러 대처(컴퓨터의 스토리지)데이터 리커버리: 시스템의 컴포넌트가 fail 하더라도 시스템을 통해 작업은 지속적으로 수행 되어야 함- failure..