이전 글에서 사용했던 여러 함수들을 사용해 간단한 예제 텍스트 파일을 HDFS에서 불러와 wordcount를 직접 해보겠습니다. 먼저 아래 링크에서 sample.txt 파일을 가상머신 내부에 설치해줍니다. 파일 링크 http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%BB%B4%ED%93%A8%ED%8C%85&uid=797 A.I Lab - Spark #1 강의자료 관리자 | 2016.05.09 | 조회 591 ailab.ssu.ac.kr sample.txt 파일이 있는 Downloads 디렉터리로 들어가서 파일을 HDFS에 put 해줍니다. 이제 pyspark 쉘에 들어가..
filter() filter는 filter의 인자함수에서 true인 값만을 반환해줍니다. 그러므로 filter에서 사용될 인자함수는 true나 false를 반환해주는 함수를 사용해야 합니다. 지난 글에서 생성했던 RDD입니다. filteredRDD에는 x보다 큰 값으로 filteredRDD2에는 x보다 작은 값으로 filter를 적용해줍니다. 기타 함수 first() - RDD의 첫 번째 파티션의 첫 번째 요소를 반환합니다. take() - RDD의 첫 번째 파티션부터 인자로 넣은 정수만큼 반환합니다. takeOrdered() - 오름차순으로 인자값의 개수만큼 반환합니다. top() - 내림차순으로 인자값의 개수만큼 반환합니다. groupByKey() key, value 데이터 타입의 key 값을 기준으..
quickstart 가상머신에서 스파크를 사용하려면 pyspark라는 명령어로 pyspark 쉘에 접근할 수 있습니다. 하지만 파이썬 2.6 버전과 스파크 1.6 버전으로 낮은 버전을 사용하기 때문에 버전을 높이거나 주피터 노트북과 같은 환경을 새로 구축해서 사용하기에는 어려운 점이 있어 스파크 함수들을 익히는 정도의 간단한 실습용으로만 사용하는 것을 추천드립니다. 처음 쉘에 진입했을 때 SparkContext available as sc 라고 표시되있기 때문에 별도로 선언해주지 않아도 sc로 사용할 수 있습니다. sc의 타입을 확인해보면 SparkContext로 나옵니다. 이 SparkContext를 이용해 RDD를 생성하고 여러 스파크 함수들을 사용할 수 있습니다. 먼저 파이썬의 데이터 타입들을 사용..
지금까지 했던 실습을 바탕으로 KBO 야구 데이터를 Hive에 옮기고 HiveQL로 간단한 분석을 해보겠습니다. 먼저 아래 링크에서 첨부파일을 가상머신 내에서 다운받고 압축을 풀어줍니다. http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%BB%B4%ED%93%A8%ED%8C%85&p=2&uid=770
기본적인 HiveQL을 사용해보기 전에 각 테이블을 import 해줍니다. 기본적인 쿼리를 사용해보면 RDBMS와 마찬가지로 결과를 볼 수 있습니다. 여기서 한 가지 차이점은 RDBMS처럼 column 명이 표시되지는 않습니다. count를 사용했을 때는 위와 차이가 있습니다. 여기서는 job이 한개 잡힌 것을 확인할 수 있고 이 job이 맵리듀스를 실행하는 것을 볼 수 있습니다. 그리고 맵리듀스가 끝나면 마지막에 결과가 출력됩니다. count, group by, order by를 사용한 쿼리입니다. count와 group by에 대한 총 2개의 job을 만들고 각 job들에 대해 맵리듀스를 진행합니다. join을 사용한 쿼리입니다. join에 대한 1개의 job을 만들고 맵리듀스를 진행합니다. Hive..
저번 글에서는 MYSQL에서 HDFS로 먼저 데이터를 옮기고 다시 HDFS에서 Hive로 옮겨봤습니다. 이번에는 MYSQL에서 Hive로 바로 데이터를 옮기는 것을 스쿱을 사용해서 해보겠습니다. hive cli에서 show databases를 해보면 저번에 만들었던 hdfs_retail_db를 확인할 수 있습니다. 이번에는 hive_retail_db라는 이름으로 database를 생성합니다. sqoop import 명령어를 입력해줍니다. HDFS로 옮길 때와 차이점은 --hive-database 옵션으로 옮기고자 하는 database를 입력해주고 --hive-import 옵션을 명시해줍니다. hive_retail_db에서 쿼리를 사용해보면 성공적으로 데이터가 import된 것을 확인할 수 있습니다. MY..
저번 글에서 MYSQL 데이터를 HDFS로 옮겨봤는데요 이번에는 옮겨던 HDFS 데이터를 다시 Hive로 옮겨보겠습니다. 저번에 HDFS로 import해서 가져온 데이터입니다. hive 라고 입력하면 hive cli로 변경됩니다. 먼저 hdfs_retail_db라는 database를 만들어줍니다. 그리고 categories라는 테이블을 만들고 HDFS에 있는 데이터와 동일한 데이터 타입으로 각 column을 다음과 같이 정의합니다. load data inpath 'HDFS에서 옮기려는 데이터' into table 테이블이름 으로 입력해줍니다. 다음 쿼리를 통해 HDFS에서 Hive로 성공적으로 데이터를 옮긴 것을 확인할 수 있습니다.
Sqoop은 MYSQL, Oracle, Postgresql과 같은 RDBMS와 HDFS, Hive, Hbase와 같은 하둡 에코시스템 사이에서 데이터를 주고 받을 수 있게 해줍니다. 이번 글에서는 MYSQL에서 HDFS로 스쿱을 사용해 데이터를 import하는 방법에 대해 알아보겠습니다. 먼저 quickstart에 설치되어있는 MYSQL에 접속하기위해 mysql -u root -p를 입력하고 패스워드는 cloudera를 입력해줍니다. show databases를 해보면 이미 여러 database가 있는 것을 확인할 수 있습니다. 이번에 사용할 데이터는 retail_db라는 database에 있는 테이블을 사용합니다. use retail_db로 retail_db를 선택하고 show tables를 통해 들어..
- Total
- Today
- Yesterday
- 팰린드롬 구하기
- hive
- 완전탐색
- 백준
- 배열과 문자열
- 종만북
- 하둡
- 코딩인터뷰 완전분석
- microwaving lunch boxes
- 삼각형 위의 최대 경로
- Sqoop
- 스파크
- HiveQL
- 출전 순서 정하기
- HDFS
- 삼각형 위의 최대 경로 수 세기
- 하이브
- Hadoop
- 분할정복
- 2225
- pyspark
- 외발 뛰기
- Jaeha's Safe
- 두니발 박사의 탈옥
- 알고스팟
- Django
- import
- python
- C++
- 합친 lis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |