분류 전체보기

빅데이터 관리/Hadoop

PIG 기본명령어 - 6

Endswitch Endswitch는 두 개의 파라미터를 이용하여 첫 번째에 입력한 문자열이 두 번째에 입력한 문자열로 끝이 나는지 확인할 수 있는 기능 앞 예제의 A 릴레이션의 데이터 중 name 속성의 값이 n으로 끝나는 속성이 있는지 검사하고, id 속성과 name 속성을 X 릴레이션에 저장 후 출력 X = FOREACH A GENERATE (id, name), ENDSWITH(name, 'n'); DUMP X; Startswitch : Endswitch와 동일함 Substring 주어진 문자열에서 지정한 인덱스만큼 문자열을 추출할 수 있는 기능 앞선 A 릴레이션에 SUBSTRING을 추가하여 name 속성값의 0번째 부터 (2-1) 번째 인덱스까지 추출하여 저장 후 출력 stopindex는 마지막..

빅데이터 관리/Hadoop

PIG 기본 명령어 - 5

Max 해당 속성의 최댓값을 찾을 수 있음 sample_data 수정 후 저장 A 릴레이션에 값 저장 B 릴레이션에 A 릴레이션 그룹화 X 릴레이션에 FOREACH ~ GENERATE 구문을 통해 A 릴레이션의 이름 중 최댓값을 가진 tail 속성의 데이터를 저장 A = LOAD 'sample_data' AS (name:chararray, tall:int); B = GROUP A All; X = FOREACH B GENERATE A.name, MAX(A.tall); DUMP X; Min 도 Max 와 동일하게 동작한다. Size Size 함수는 데이터의 행의 지정한 속성의 데이터 길이를 반환 앞에서 실시한 A 릴레이션의 원본 데이터 중 첫 속성인 name의 값의 길이를 X 릴레이션에 저장 후 출력 X =..

빅데이터 관리/Hadoop

PIG 기본명령어 - 4

Limit DUMP를 이용하여 출력할 때 출력되는 튜플의 계수를 제한 아래 예제는 최대 3개의 출력만을 가진다. X = LIMIT A 3; DUMP X; Order by 릴레이션의 튜플이 있을 때 하나의 속성을 기준으로 정렬할 수 있는 명령어로 오름차순(ASC), 내림차순(DESC)이 가능 sample_data 수정 후 저장 A에 데이터의 속성 이름과 데이터 형태 지정 후 저장 a3 속성을 내림차순 정렬 A = LOAD 'sample_data' AS (a1:int,a2:int,a3:int); X = ORDER A BY a3 DESC; DUMP X; Rank Rank는 릴레이션의 튜플이 있을 때 하나의 속성을 기준으로 순위를 지정하여 반환 sample_data 수정 및 HDFS에 저장 A 릴레이션에 데이터..

빅데이터 관리/Hadoop

PIG 기본 명령어 - 3

COGROUP COGROUP 은 GROUP과 같은 역할을 하지만, 차이점은 GROUP 하나의 릴레이션에 그룹화를 하지만, COGROUP은 두 개 이상의 릴레이션에 그룹화를 지정할 수 있다는 것이다. sample_data 수정 후 저장 sample_data2 수정 후 저장 A와 B 릴레이션에 데이터 속성 이름과 데이터 타입을 저장 X 릴레이션에 COGROUP BY 구문을 이용하여 A 릴레이션의 owner 속성과 B 릴레이션의 friend2 속성을 그룹화 후 출력 A = LOAD 'sample_data' AS (owner:chararray,pet:chararray); B = LOAD 'sample_data2' AS (friend1:chararray,friend2:chararray); X = COGROUP A..

빅데이터 관리/Hadoop

PIG 기본 명령어 - 2

형 변환(cast) 연산자 sample_data 수정 후 HDFS에 저장 A = LOAD 'sample_data' AS (f1:int, f2:int); B = GROUP A BY f1; DUMP B; B 릴레이션에 GROUP BY를 통해 f1 속성 값을 기준으로 Inner Bag 형태로 튜플이 생성된 것을 확인 데이터 형 변환 X 릴레이션의 첫 번째 속성은 B 릴레이션의 첫 번째 값인 group 두 번째 속성은 A 릴레이션에 COUNT 함수를 이용하여 int 형태의 데이터를 chararray 형태로 변환하여 Inner Bag 데이터의 개수를 total 속성명으로 변경하여 저장 후 확인 X = FOREACH B GENERATE group, (chararray)COUNT(A) AS total; DUMP X;..

빅데이터 관리/Hadoop

PIG 기본 명령어 - 1

PIG란 대용량 데이터를 다루기 위한 스크립트 언어이다. MapReduce는 분산처리를 가능하게 해주는 서비스이지만 한 번 처리를 위해서는 복잡한 java 로직이 필요하다. 이는 너무 어렵기 때문에 PIG와 HIVE라는 언어가 만들어졌다. PIG는 데이터 구조를 자세히 검토할 수 있는 여러 명령어를 제공하며, 입력데이터의 대표 부분 집합에 대해 표본실행이 가능하다는 장점이 있다.(오류 점검에 사용) 또한 확장가능성도 높다. 다만 소량의 데이터에는 MapReduce 과부하가 발생하기 떄문에 비효율적이다. Hortonworks HDP 3.0을 다운로드하여 설치해 줍니다. https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.0.0/release-notes/content/r..

빅데이터 관리/Hadoop

FLUME - Tomcat 연결해보기

하둡 설치에 대해서 궁금하시다면 메일 바랍니다. 따로 자료 공유 드리겠습니다. 데이터를 수집하여 하둡에 분산 저장한다. 몽고 DB도 하둡같은 기술을 사용하여 분산저장으로 구현한다. FLUME은 txt 같은 로그파일을 수집할 때 많이 사용한다. Sqoop은 정형데이터를 수집할 때 많이 사용한다. 리눅스 설정 가상머신 4개를 만들어 하둡 분산환경 시스템을 구축하자. HDFS :Hadoop Distributed file system Web Server : Tomcat, Nginx : txt 파일로 로그를 관리함 → Agent의 설정으로 5분에 한 번씩 하둡에 저장하는 등의 방식으로 설정 가능. - Web Server 대신에 Linux System(다중사용자용 로그발생관리), FTP 등이 들어가기서 해당 장소에..

빅데이터 관리/Hadoop

하둡 기본 명령어 - 1

의사가상분산 모드 분산되어 있지 않은 PC를 분산된 것처럼 보이게 하는 방식 - 하둡을 연습하기 위해 만든 거임 하둡 명령어는 대부분 리눅스 명령어와 유사하다 1. 블록 관련 명령어 hadoop ls hadoop fs -ls /user/root/temp에 ls 하기 hadoop fs -ls /user/root/temp 데이터 넣기 리눅스 → 하둡 hadoop fs -put 파일이름 저장할 경로 하둡은 데이터를 분산하는 기준(block size)이 존재한다. block size 보다 작은 데이터는 분산하여 저장하지 않는다. hadoop fs -D dfs.block.size=1048576 -put 파일이름 저장할 경로 를 사용하여 block size를 지정하여 저장가능하다. 2. 디렉터리 관련 명령어 dir..

파이썬/응용

Stack Overflow Data를 사용한 연습 - 2

plt.figure(figsize = (12,6)) plt.title('응답자의 지역') sns.barplot(x = df.index,y = df.values) plt.ylabel('응답자 수') plt.xticks(rotation = 90) plt.show()# data = ~~ 값을 안넣고 x.y만 넣었다는 경고에러 발생함. df= survey_df['Age'].value_counts().sort_index() plt.figure(figsize = (12,6)) plt.title('what is your age') plt.ylabel('응답자 수') idx = df.index order = [idx[7],idx[0],idx[1],idx[2],idx[3],idx[4],idx[5],idx[6]] sns...

파이썬/응용

Stack Overflow Data를 사용한 연습 - 1

Stack Overflow Data를 사용한 연습 폰트 설정 # 설치한 폰트 설정 저 파일 위치의 폰트들을 확인해서 긁어옴. import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as font_manager %matplotlib inline # Add every font at the specified location font_dir = ['C:\\\\Chang_git\\\\python_basic\\\\fonts'] for font in font_manager.findSystemFonts(fontpaths=font_dir): print(mpl.font_manager.FontProperties(fname=..

잘잔디
'분류 전체보기' 카테고리의 글 목록 (14 Page)