하이브 테이블의 열 개수(count 정보), 파일개수, 사이즈 등이 메타스토어에 저장된다. 이를 이용하여 count 명령의 실행 속도를 높일 수 있다. 그런데 파일 정보가 갱신 된 것을 하이브가 확인하지 못할 때도 있다. 이럴때는 다음의 명령으로 테이블 정보를 갱신해 준다. ANALYZE TABLE 테이블명 COMPUTE STATISTICS; The first milestone in supporting statistics was to support table and partition level statistics. Table and partition statistics are now stored in the Hive Metastore for either newly created or existing ta..
쉬운 계단수는 앞에서 선택된 숫자 다음에 올 수 있는 숫자는 앞숫자-1, 앞숫자+1 이라는 것을 생각하여 해결 할 수 있다. 자리수가 1일때는 1~9까지 9개가 존재한다. 자리수가 2일때부터 다음숫자에 0이 나올 수가 있다. 앞자리가 0, 9일때는 뒤에 1, 8만 올 수 있으므로 하나만 선택가능하다. 하지만 1~8은 -1 또는 +1 인 숫자가 올 수 있다. 이를 이용하여 다음과 같이 해결하면 된다. memo[length][number] = memo[length-1][number - 1] + memo[length-1][number + 1 이 결과를 MOD 로 나눈 나머지를 저장하면 된다. https://www.acmicpc.net/problem/10844
내리막길은 DFS와 DP를 혼합하여 해결할 수 있는 문제이다. DFS를 이용하여 종점을 찾아서 다시 돌아오면서 DP로 현재 경로에서 종점으로 갈 수 있는 경우를 메모한다. 이미 메모한 곳을 찾으면 해당 값을 반환하면 된다. * -1로 초기화 하여, 방문한 곳을 0으로 표시하면 다시 방문하지 않아도 된다. 최종 위치에서 되돌아 가면서 경로를 표시하고, 새로운 경로로 가면서 최종 위치로 도달할 수 있는 경로를 만나면 그값을 더하여 처리한다. 10 1020 19 18 17 16 15 14 13 12 11 19 18 17 16 15 14 13 12 11 10 18 17 16 15 14 13 12 11 10 9 17 16 15 14 13 12 11 10 9 8 16 15 14 13 12 11 10 9 8 7 15..
N개의 동전의 가치를 합하여, K원을 만드는 경우를 구한다. 1, 2, 5 원의 동전을 이용하여 10원을 만드는 경우는 다음과 같다. 사용동전1 2 5 개수 1 1 1 2 1+1 2 2 3 1+1+1 1+2 2 4 1+1+1+1 1+1+2, 2+2 3 5 1+1+1+1+1 1+1+1+2, 1+2+2 5 4 5원을 만드는 경우는 위와 같다. 1원동전 사용: 1원을 5개 사용2원동전 사용: 3원을 만드는 경우에 2원을 더하여 생성5원동전 사용: 0원을 만드는 경우에 5원을 더하여 생성 https://www.acmicpc.net/problem/2293
포도주 시식은 포도주를 첫번째로 마시는 경우, 두번째로 마시는 경우, 마시지 않는 경우로 나누어서 생각하면 해결할 수 있다. 6개의 와인잔이 1000, 900, 2, 1, 800, 700 의 순서로 놓여져 있는 경우 다음과 같이 생각할 수 있다. 순서 1 2 3 4 5 6 첫 번째로 마시는 경우 1000 900 1002 1901 2700 2601 두 번째로 마시는 경우 0 1900 902 1003 2701 3400 마시지 않는 경우 0 1000 1900 1900 1901 2701 3번의 경우에 첫 번째로 마시는 경우는 이전에 마시지 않는 경우에서 자신을 더하는 것이다. -> 1000 + 2 = 1002두 번째로 마시는 경우는 이전에 첫번째로 마시는 경우에 자신을 더하는 것이다. -> 900 + 2 = 9..
일반적으로 다이나믹 프로그래밍을 이용하여 피보나치 함수를 구현하는 방법을 그대로 이용하면된다. 다른점은 0을 출력하는 것과 1을 출력하는 것을 따로 저장하여 다음 값의 호출에 0과 1을 출력하는 경우를 모두 더하여 출력하면 된다. dp[N][0] : N번째 수의 0 출력 횟수dp[N][1] : N번째 수의 1 출력 횟수 i번째 수의 0과 1출력 횟수는 다음과 같다. dp[i][0] = dp[i-2][0] + dp[i-1][0];dp[i][1] = dp[i-2][1] + dp[i-1][1];
이클립스에 저장된 git 저장소의 키가 꼬이게 되면 이런 오류가 발생한다. failed to write credential 'https://github.com'이 오류가 발생하면 암호를 매번 다시 넣어야 한다. 이럴 때는 이클립스에 저장된 키를 지워주면 된다. Preferences > General > Security > Secure Storage > Contents 의 delete 버튼을 이용하여 모든 것을 지워주면 된다.
윈도우에서 작업을 강제로 종료하는 것은 '작업관리자'의 '프로세스' 탭에서 가능하다. 그런데 몇몇 작업의 경우 여기서 종료 시켜도 반응이 없는 작업들이 있다. 이런 작업들은 커맨드 창에서 처리가 가능하다. ctrl + R 에서 cmd 로 커맨드창을 열어서 다음의 명령어를 입력한다. tasklist 명령으로 현재 태스크 목록을 확인이미지 이름 PID 세션 이름 세션# 메모리 사용========================= ======== ================ =========== ============System Idle Process 0 Services 0 24 K taskkill /f /pid [pid]taskkill /f /im [이미지 이름]
grep 명령어는 파일에 일치하는 문자열이 있으면 출력하는 역활을 한다. -n : 라인번호 출력-f : 파일명 출력-v : 일치 하지 않는 것 출력 grep 으로 문자열이 일치하는지 확인할 때 다음과 같이 확인할 수도 있다. . : 문자열 하나[] : 괄호로 묶인 만자 중 하나가 존재하는지 확인cat raw.txt | grep "temp.ex" | grep "text.[a|b]"ex) tempaex 처럼 temp와 ex 사이에 하나의 문자만 존재하고, textka, textkb 처럼 text와 a, b 사이에 하난의 문자가 존재할 때 확인 grep 의 주요 옵션 - http://geundi.tistory.com/113
다른 서버로 ssh 명령어를 이용하여 접속할 때 처음 접속하는 서버이면 Are you sure you want to continue connecting ? yes/no 와 같이 접속여부를 확인하는 부분이 나타난다. 보안을 위한 사항이긴 하지만 스크립트를 이용하여 연속적인 명령을 하려고 할때는 이 부분으로 인하여 다음 작업 처리가 안되게 된다. 이럴 때는 다음의 옵션을 이용하여 처리하면 된다. ssh -o StrictHostKeyChecking=no user@127.0.0.1
"그게 우리집 규칙 이니까" 는 좋은 말 인것 같다. 지켜야 할 규칙을 정해서 아들과 서로 지키게 한다면 좋을 것 같다. 실패했을 때, "잘됐어, 덕분에 좋은 경험을 했으니까"풀 죽었을때, "괜찮아, 아빠도 모든게 싫어질 때가 있어"스트레스 받을때, "너에게 맞는 계획을 세워보는게 어떨까?"욕심이 너무 많은 아이에게, "그 정도도 충분히 잘했어. 열심히 했으니까"아이가 숙제를 완벽하게 못 했을때 "여긴 잘 알아냈구나!"아이가 다른 집과 비교할 때 "그게 우리 집 규칙이니까"아들을 칭찬할 때 "아빠도 너한텐 못 당하겠다."딸을 칭찬할 때 "열심히 한 보람이 있네?"아이에게 도전을 격려할 때 "해볼까? 자, 가자"
두줄로 타일깔기는 라인 길이에 따라 타일을 배열하는 방법을 생각해서 처리하면된다. 구현할 때 재귀를 이용하여 처리하면 stack overflow 가 발생한다. f(n) 을 구하는 방법은 f(n-1) 의 타일 개수에 1 x 2 타일을 하나 추가하는 방법과f(n-2)의 타일 개수에 2 x 2 타일을 추가하는 방법 두개를 더하면 된다. http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=687&sca=3050http://huiyu.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%ED%83%80%EC%9D%BC-%EC%B1%84%EC%9A%B0%EA%B8%B0-%EB%AC%B8%EC%A0%9C
우지 코디네이터에 를 설정하면 지정한 파일이 생성되기 까지 잡을 대기(WAITING) 하게 할 수 있다. 이때 기본적으로 대기잡은 12개로 설정되어 있고 코디네이터에 설정된 정보만큼 기다리다가 TIMEOUT으로 넘어가면서 다음 잡이 생성되게 된다. 이 WAITING 잡의 개수를 다음의 설정으로 조절이 가능하다. oozie.service.coord.default.throttle = 12 https://oozie.apache.org/docs/4.0.0/oozie-default.xml
LCS(Longest Common Subsequence)는 다이나믹 프로그래밍을 이용한 알고리즘 문제 풀이에 자주 이용된다. 이는 문자열 두개를 비교하여 순서대로 있는 가장 긴 문자의 수를 세는 것이다. 배열을 만들어서 문자가 일치할 때는 좌측 상단의 값에 +1을 하여 주고, 일치 하지 않으면 좌측 또는 상단의 값 중 더 큰값을 선택하여 준다. 이를 끝까지 반복하여 나오는 가장 큰 수가 LCS 값이 된다. import java.util.Scanner; public class Problem9251 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = sc.nextLine();String str..
- Total
- Today
- Yesterday
- SPARK
- bash
- Linux
- 백준
- 하둡
- 알고리즘
- S3
- SQL
- ubuntu
- error
- 다이나믹
- airflow
- hbase
- yarn
- Hadoop
- 하이브
- 파이썬
- HDFS
- 정올
- build
- HIVE
- Tez
- 오류
- AWS
- mysql
- emr
- Python
- oozie
- nodejs
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |