문제 링크 https://algospot.com/judge/problem/read/RATIO algospot.com :: RATIO 승률올리기 문제 정보 문제 싸비는 윈도우XP 운영체제에 포함되어 있는 스파이더 카드게임을 매우 좋아한다. 처음에는 지는 경우가 있었는데, 점점 연습을 함에 따라 필승법을 발견하였고 매번 algospot.com 전체 플레이한 게임 횟수 n번에서 이긴 횟수 m번이 주어졌을때 승률 1%를 올리기 위해 최소 몇 번의 게임을 더 플레이해야 하는지에 대한 문제로 최대 플레이 횟수는 20억번으로 주어졌기 때문에 이분 검색을 통해 중간 값을 찾아가며 최소 플레이 횟수를 찾아야 하는 문제입니다. 초기 예외처리를 해주고 이분법을 진행합니다. 문제에서 게임을 플레이 할 수 있는 최대 횟수가 2..

지금까지 했던 실습을 바탕으로 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" data-og-host="ailab.ssu.ac.kr" data-og-source-url="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%..

아파치 하이브란?하둡에 저장된 데이터(HDFS)를 SQL을 사용해 쉽게 처리하게 해주는 데이터웨어하우스(DW) 패키지입니다. 초기에는 Facebook에서 RDBMS로는 처리하기 힘든 대용량의 데이터를 처리하기 위해 개발했으며 현재는 아파치에 속해있는 오픈소스로 하둡 에코시스템의 일부가 되었습니다. HDFS를 처리하기 위해서는 맵리듀스를 Java나 Python으로 직접 작성해야 하는데 이러한 작업이 오래 걸리기 때문에 SQL만 알면 누구나 HDFS를 처리할 수 있도록 개발되었습니다. 하이브에서 사용하는 SQL은 HiveQL이라고 하는 SQL의 일부에 속하는 언어를 사용합니다.SQL과 거의 비슷하지만 Having절과 같은 일부 기능을 사용하지 못하는 특징이 있습니다. 하둡과 하이브에서의 작동방식을 간..

기본적인 HiveQL을 사용해보기 전에 각 테이블을 import 해줍니다. 기본적인 쿼리를 사용해보면 RDBMS와 마찬가지로 결과를 볼 수 있습니다.여기서 한 가지 차이점은 RDBMS처럼 column 명이 표시되지는 않습니다. count를 사용했을 때는 위와 차이가 있습니다.여기서는 job이 한개 잡힌 것을 확인할 수 있고 이 job이 맵리듀스를 실행하는 것을 볼 수 있습니다.그리고 맵리듀스가 끝나면 마지막에 결과가 출력됩니다. count, group by, order by를 사용한 쿼리입니다.count와 group by에 대한 총 2개의 job을 만들고 각 job들에 대해 맵리듀스를 진행합니다.join을 사용한 쿼리입니다.join에 대한 1개의 job을 만들고 맵리듀스를 진행합니다. HiveQL에..

저번 글에서는 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된 것을 확인할 수 있습니다.MYSQL..

저번 글에서 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를 통해 들어있는..

Cloudera quickstart 이미지로 가상머신을 생성하고나면 하둡 에코시스템에 대한 여러 실습이 가능합니다.이번 글에서는 하둡의 기본 명령어에 대해 알아보겠습니다. quickstart 가상머신 첫 화면에서 위에 표시된 아이콘을 클릭하면 터미널을 열 수 있습니다. 1. hadoop fs하둡 명령어는 앞에 hadoop fs 가 항상 붙습니다.터미널에 hadoop fs만 입력하면 사용가능한 하둡 명령어 리스트들을 확인할 수 있습니다.hadoop fs 뒤의 명령어는 대부분 리눅스와 동일하지만 명령어 앞에는 항상 하이픈(-)이 붙습니다. 2. hadoop fs -lsHDFS의 리스트를 확인할 수 있습니다.ls 뒤에 경로를 붙여 탐색하고 싶은 경로를 확인할 수 있고 경로를 붙이지않으면 홈 디렉터..
- Total
- Today
- Yesterday
- 배열과 문자열
- 분할정복
- import
- 두니발 박사의 탈옥
- HiveQL
- 삼각형 위의 최대 경로
- HDFS
- 2225
- hive
- 종만북
- python
- 삼각형 위의 최대 경로 수 세기
- 알고스팟
- C++
- 백준
- 출전 순서 정하기
- 코딩인터뷰 완전분석
- microwaving lunch boxes
- 완전탐색
- 하이브
- 외발 뛰기
- Sqoop
- 합친 lis
- 하둡
- Django
- Jaeha's Safe
- 팰린드롬 구하기
- 스파크
- Hadoop
- pyspark
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |