하둡 공부 순서

하둡 공부 순서

  1. HDFS
  2. MapReduce
  3. YARN
  4. Avro
  5. Parquet
  6. Flume
  7. Sqoop
  8. Pig
  9. Hive
  10. Crunch
  11. Spark
  12. Hbase
  13. Zookeeper

하둡 에코 시스템

하둡 에코 시스템

HDFS, MapReduce, YARN은 하둡 기반 구성 요소라서 정확하게 이해할 필요성이 있다
다른 요소들은 필요한 순서대로 공부하면 될 듯

속도를 높이는 파이썬 코드

기존 파이썬 코드를 빠르게 만드는 방법

  • 상황에 맞는 정확한 데이터 구조 사용
    (list, tuple, set, dict, etc…)
  • for 루프 대신 while 루프 사용
  • 컴프레헨션 사용
  • 복수 할당 사용 ( a, b = 1, 2)
  • 될 수 있으면 global 키워드를 줄이자 연산 작업에 많은 시간을 소요한다
  • 라이브러리를 활용
  • 제너레이터 사용
  • .사용 자제 (use sqart instead of math.sqart)
  • 무한 반복문에 1 사용 True 사용 보다 런타임 줄일수 있음
  • 큰 데이터 처리는 pandas, numpy, scipy 사용

참조링크

하둡을 왜 쓰는 것일까?

하둡을 왜 쓰는 것일까?

빅데이터 처리

  • 인터넷 사용자들의 기록(비정형 데이터)
  • 생물학의 데이터 과학 등

대용량 처리하기에는 기존 RDBMS는 비효율적

  • 비정형 데이터 분석 불가
  • 확장하기가 힘들다
  • 빅데이터 처리하기에 운영 비용이 기하급수적으로 비싸진다
  • 빅데이터 처리 속도가 하둡 보다 느리다

Ssh를 이용하여 원격 서버와 파일 양방향 전송하기

1. ssh를 이용하여 파일 복사 및 전송하기

ssh에서 제공하는 scp 명령어를 통해 로컬서버↔원격서버 파일을 양방향 전송할 수 있다.

1.1 사용방법

  • 원격 서버 → 로컬 서버로 파일 전송
    1
    # scp [옵션] [계정명]@[원격지IP주소]:[원본 경로 및 파일] [전송받을 위치]
     예제1) IP 111.222.333.444 서버의 abc라는 계정으로 /home/abc/index.html 파일을
      로컬서버 /home/me/ 디렉토리에 전송 받기
    
    1
    # scp abc@111.222.333.444:/home/abc/index.html /home/me/
     예제2) (ssh의 기본 22번 포트가 아닐경우)IP 111.222.333.444 서버의 
     abc라는 계정으로 /home/abc/index.html 파일을 로컬서버 /home/me/ 디렉토리에 전송 받기
       
    1
    # scp -P 321 abc@111.222.333.444:/home/abc/index.html /home/me/ (ssh 포트가 321일경우)

  • 로컬 서버 → 원격 서버로 파일 전송
    1
    # scp [옵션] [원본 경로 및 파일] [계정명]@[원격지IP주소]:[전송할 경로]
     예제1) 로컬서버 /home/me/wow.html 파일을 IP 111.222.333.444 서버의 /home/abc/
      디렉토리에 전송 하기
    
    1
    # scp /home/me/wow.html abc@111.222.333.444:/home/abc/
     예제2) (ssh의 기본 22번 포트가 아닐경우)로컬서버 /home/me/wow.html 파일을
      IP 111.222.333.444 서버의 /home/abc/ 디렉토리에 전송 하기
    
    1
    # scp -P 321 /home/me/wow.html abc@111.222.333.444:/home/abc/ (ssh 포트가 321일경우)
  • [주의사항]
    옵션중에 –P와 –p가 있으니 대/소문자 확인을 하여야 한다.
    -P : 포트번호를 지정함
    -p : 원본파일 수정/사용시간 및 권한을 유지함
    -r : 하위 디렉토리 및 파일 모두 복사함



상황을 가장 잘 활용하는 사람이 가장 좋은 상황을 맞는다

John Robert Wooden

Angular 준비하기

1 Angular 학습전 알아야 할 핵심 2가지

1.1 Node.js

  • 서버 사이드 자바 스크립트 실행환경
  • 자바스크립트는 node.js가 설치된곳이면 어디서든지 실행 가능
  • 자바 스크립트에게 브라우저라는 실행환경을 벗어나게 해줌

1.2 NPM(Node Pakage Manager)

  • node.js 의 패키지(자바스크립트, HTML, CSS 등) 관리도구
  • 소스를 패키지로 공유할 수 있고 패키지 의존성 관리를 가능하게함
  • Angular 또한 NPM 기반으로 프로젝트를 구성하고 의존성 패키지를 관리함

2 NPM 다루기

2.1 package.json

  • 프로젝트 생성시에 제일 먼저 생성해야 할 JSON 파일로 패키지와 의존 패키지 정보등을 선언함
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    {
    "name": "welcome-msg-app",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "dependencies": {
    "http-server": "^0.9.0",
    "jquery": "^1.12.4"
    },
    "devDependencies": {},
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "",
    "license": "ISC"
    }

2.2 NPM 주요 명령어

  • npm install: pakage.json 파일 있는 경우 파일에 선언된 의존패키지를 설치하고
    npm install 뒤에 패키지명 입력하면 해당 패키지 설치함

  • npm run: pakage.json의 scripts에 선언된 명령을 수행




사랑에는 실패가 없다.

Amelie Nothomb