목록전체 글 (55)
Monday

1. 자바 생성자 내부 동작 원리 다음과 같이 Animal 클래스가 있을 때 main 함수에서 new를 호출하면 어떻게 동작하는지 살펴보겠습니다. // Animal.java public class Animal { String name; public Animal() { this.name = "동물"; } public Animal(String name) { this.name = name; } } Main 함수 // Main.java public class Main { public static void main(String[] args) { Animal tiger = new Animal("Strong Tiger"); System.out.println(tiger.name); } } Main.class 바이트 코..
1) Default UNION SELECT * FROM table1 UNION SELECT * FROM table2; = SELECT * FROM table1 UNION DISTINCT SELECT * FROM table2 Impala 에서 UNION = UNION DISTINCT 입니다. 2) Impala UNION 사용 조건 또한, Impala 에서 Union 사용 시 table1의 컬럼이름과, table2의 컬럼이름이 같아야 합니다. ex) SELECT zip_plus_4 AS zipcode FROM california_emp UNION DISTINCT SELECT CAST(zip AS STRING) AS zipcode FROM california_offices; 3) Union 사용 시 유의사항 ..
자바 Queue 함수 비교 1. 원소 추가하기 원소 추가하기 함수 offer() 원소를 추가할 수 없을 시 False 반환 add() 원소를 추가할 수 없을 시 Exception 반환 2. 원소 빼기 원소 빼기 함수 poll() 아무 원소도 없을 시 Null 반환 remove() 아무 원소도 없을 시 Exception 반환 3. 맨 위 원소 확인하기 맨 위 원소 확인하기 함수 peek() 아무 원소도 없을 시 Null 반환 element() 아무 원소도 없을 시 Exception 반환 Queue 사용 시 예외를 null 처리 할 것 인지, Exception 처리 할 것인 지 정하여 일관성있게 코딩하면 좋습니다.
예를 들어, 한 값이 2개씩 존재하는 배열에서 중복되지 않는 유일한 수를 구할 때 사용할 수 있습니다. (ex. int[] a= {1, 3, 3, 5, 5}, a에서 유일하게 중복되지 않는 수는 1) int[] numList = {1, 3, 3, 5, 5}; int onlynum = 0; for(int num : numList){ onlynum ^= num; } System.out.println(onlynum);
중간값을 구할 때 흔히 하는 실수는 다음과 같습니다. int start = 0; int end = 10; //중간값 구하기 int mid = (start + end) / 2; //숫자가 작을 때는 아무 문제 없음 위 코드는 start, end의 값이 작을 때는 아무 오류가 나지 않습니다. 그러나, 숫자가 커지면 (start + end)가 오버플로우 되면서 예상치 못한 값을 얻게 됩니다. 해결법 1) 작은 수 + (큰 수 - 작은 수) / 2 int start = 0; int end = 10; int mid = start + (end - start) / 2; 2) bit 연산자 >>> 사용 (결과가 양수일 때만 가능) int start = 0; int end = 10; int mid = (start + e..
report.sql이란 파일이 다음과 같이 저장되어 있을 때 beeline을 통해서 사용하는 법을 보여드리겠습니다. # report.sql SELECT * FROM accounting.current WHERE month= '${hivevar:month}' or # report.sql (변수 선언 포함) SET hivevar:month = October; SELECT * FROM accounting.current WHERE month= '${hivevar:month}' 사용법 $ beeline -u jdbc:hive2://localhost:10000 --hivevar month="October" -f report.sql
report.sql이란 파일이 다음과 같이 저장되어 있을 때 impala-shell을 통해서 사용하는 법을 보여드리겠습니다. # report.sql SELECT * FROM accounting.current WHERE month= '$var:month}' or # report.sql (변수 선언 포함) SET var:month = October; SELECT * FROM accounting.current WHERE month= '${var:month}' 사용법 $ impala-shell --var month="October" -f report.sql
-AND Operator- NULL 값일 때 AND 결과 Expression Value true AND NULL NULL false AND NULL false NULL AND NULL NULL -OR Operator- NULL 값일 때 OR 결과 Expression Value true OR NULL true false OR NULL NULL NULL OR NULL NULL -NOT Operator- Expression Value NOT NULL NULL ※ 주의, 문자열 처리시 ""(empty string) ≠ NULL NULL 처리에 유용한 특수 함수 1) If if(조건, 값1, 값2) 처럼 사용하며 조건이 참일때 값1 반환, 거짓일 때 값2 반환 select if(money is NULL, 0, m..