본문 바로가기

나 취준생/리눅스

(15)
scala에서 sql문을 실행한 결과를 파이썬에서 사용하기 리눅스 내에 있는 scott 계정의 공유 폴더를 통해 들어있는 Case.csv 파일을 파이썬에서 시각화하기 먼저 리눅스에서 cd /home/scottcp Case.csv Case.txt# csv 파일을 txt 파일로 복사 spark-shell# scala 접속 scala>val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)# sql 문법을 사용하겠다. sqlContext.sql("""create table IF NOT EXISTS doong(caseid int, province string, city string, group string, infection string, confirmed int, latitude float, longitude f..
spark에 테이블 올리고, SQL 수행하는 법 어제 테이블 생성 과정 중 sqlContext.sql("LOAD DATA LOCAL INPATH '/home/scott/emp2.txt' INTO TABLE emp")에서 오류가 계속 떠서 실패했었는데 원인을 알았다. spark에서 치명적인 오류가 발생하면 안전을 위해서인지 특정 작업을 못하게 막아버려서spark를 껐다가 다시 켜야한다. # spark 재접속 하는 법 리눅스 작업환경에서 시작 스파크의 sbin 디렉토리로 이동 cd /home/scott/spark/sbin ls start-all.sh , stop-all.sh 가 정상적으로 있는지 확인 stop-all.sh #껐다가 start-all.sh #키기 spark-shell # spark 접속 val sqlContext = new org.apach..
리눅스 특정 텍스트 치환 하둡에서 쉼표로 데이터를 구분해서 테이블에 넣게 하기 위하여데이터 전처리를 해보자. head movies.dat으로 데이터를 간단히 확인 확인해보니 컬럼과 컬럼이 ::로 구분되어져 있다. sed s/::/,/g movies.dat 을 해주면 이런 식으로 출력된다. 이걸 바로 저장해주자. sed s/::/,/g movies.dat>>movies_coma.dathead -5 movies_coma.dat 편안 - (수정)vi 편집기로 파일을 열고 :%s/[원본단어]/[바꿀단어]/[옵션] 옵션 없음 : 맨 앞 하나만옵션 g : 싹 다옵션 c : 물어보면서 싹 다 하는 방법도 있다.
hive # 오라클을 안 쓰고 하둡을 이용하는 이유 1. 하둡 is free 2. 분산 파일 시스템의 장점을 이용할 수 있기 때문 (여러 컴퓨터를 하나로 묶어 컴퓨터의 성능 up) # hive에 csv 파일에 있는 데이터 올리는 법 윈도우 ---> 리눅스 ---> 하둡 파일 시스템 1. 서버와 연결해둔 공유 파일에 emp2.csv 파일을 넣는다. 1.5 - 파일이 만약 쉼표로 구분되어 있지 않다면 데이터 전처리를 해줘야 한다. (난 아직 쉼표로 구분된 데이터밖에 넣을줄 모르기 때문에) * 리눅스 명령어로 데이터 전처리를 하는 방법은 다음 게시글에서! 2. 하둡 파일 시스템에 올리기 cd cp /media/sf_data/emp2.csv /home/scott/ # 공유 폴더에서 복사해오기 hadoop fs -put ..
리눅스 현재 디렉토리로 복사할 때 팁 cp /media/sf_data/dept.txt . 평범한 cp 문에 마지막에 띄어쓰기 한 칸 하고 . 을 찍어주면 된다. 여기서 . 이 현재 내 디렉토리 위치를 의미한다.복사할 디렉토리 위치 뒤에 파일명을 따로 안 적어주면 그대로 복사가 되기 때문에 결과적으로 똑같은 이름의 dept.txt가 내 디렉토리에 생긴다.
하둡 # 하둡 - 대용량 데이터를 분산 처리할 수 있는 자반 기반의 오픈 소스 프레임워크. 분산 파일 시스템(HDFS)에 데이터를 저장하고, 분산 처리 시스템인 맵 리듀스를 이용해 데이터를 처리한다. 자바로 만들어졌으나 자바를 몰라도 하둡의 데이터를 쉽게 다룰 수 있도록 NoSQL로 만들어져 SQL 구문으로 다룰 수 있다. 장점 : 무료이며, 분산 처리가 가능하다. -> 여러 컴퓨터의 자원을 이용해서 데이터를 처리하기 때문에 매우 빠름 # NoSQL (Not Only SQL) 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어 데이터 저장에 고정된 테이블 스키마가 필요하지 않다. 제품 ex) Hive, Mongo DB, Pig # 하둡의 배경 구글에서 구글에 쌓여지는 수많은 빅데이터를 구글에서도 처음에는..
리눅스 IF문, For문 # IF문 문법은 if [ 조건식 ]; then 실행문else 실행문fi 이런 식인데 유의할 점은 조건식이 들어가는 괄호 양쪽에꼭 한 칸 공백이 있어야 한다. # 조건식 문자열 비교 1. "문자열1"=="문자열2" : 두 문자열이 같으면 True2. "문자열1"!="문자열2" : 두 문자열이 같지 않으면 True 숫자열 비교1. 숫자1 -eq 숫자2: 두 숫자가 같으면 True2. 숫자1 -ne 숫자2: 두 숫자가 같지 않으면 True3. 숫자1 -gt 숫자2: 숫자1이 숫자2보다 크면 True4. 숫자1 -ge 숫자2: 숫자1이 숫자2보다 크거나 같으면 True5. 숫자1 -lt 숫자2: 숫자1이 숫자2보다 적으면 True6. 숫자1 -le 숫자2: 숫자1이 숫자2보다 작거나 같으면 True7. !숫자..
리눅스 프로세서 상태 명령어 jobs 명령어 - 동작중인 작업의 상태를 확인하는 명령어 * 상태 정보 4가지 1. running : 실행중 2. stopped : 일시중단됨 3. Done : 완료 4. terminated : 강제 종료됨 vi hhh.txt select ename, sal, job, deptno from emp where 까지 작성한 뒤 esc, 컨트롤+z 를 눌러 빠져나오기 [1] -> job 번호 stopped -> 멈췄다 이렇게 바로 표시되지만, jobs 명령어를 실행하면 또 확인할 수 있다. 여기서 fg 명령어를 입력하면, 내가 일시정지했던 화면으로 돌아갈 수 있다. 이렇게 입력을 완료하면, jobs를 입력해도 아무것도 나타나지 않는다. 만약 일시정지해둔 작업이 여러개라면, fg 뒤에 작업 번호를 입력하면 된..