일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- Tkinter
- Google Excel
- GIT
- matplotlib
- django
- list
- array
- gas
- math
- PySpark
- c#
- dataframe
- hive
- string
- Redshift
- Kotlin
- Github
- Python
- PostgreSQL
- Apache
- PANDAS
- Mac
- numpy
- Google Spreadsheet
- 파이썬
- Excel
- Java
- google apps script
- Today
- Total
목록SQL/Apache Hive (40)
달나라 노트
Hive에서 큰 데이터를 다루다보면 reducer가 더 많은 메모리를 필요로 하는 경우가 있습니다. Reducer memory set hive.exec.reducers.bytes.per.reducer = 256000000; hive에서 위 setting은 하나의 reducer당 할당되는 메모리의 크기를 의미합니다. reducer 하나에 할당되는 메모리 기본값은 256MB(256,000,000B)입니다. 위 예시는 기본값인 256MB를 할당하도록 되어있지만 이걸 바꾸면 원하는 크기의 메모리를 할당할 수 있습니다. Reducer max set hive.exec.reducers.max = 128; reducer max option은 hive job마다 사용할 수 있는 최대 reducer의 개수를 정해줍니다. ..
first_value, last_value는 window function으로서 이용 가능합니다. first_value([column_name]) over(partition by [column_name] order by [column_name] rows between ~~ and ~~) last_value([column_name]) over(partition by [column_name] order by [column_name] rows between ~~ and ~~) 예시를 보면 위처럼 사용할 수 있습니다. 해석을 해보면 partition by [column_name] = 이 컬럼을 parititon으로 나눠서 order by [column_name] = 이 컬럼 기준으로 정렬을 한 후 first_va..
GREATEST Syntax GREATEST(exp1, exp2, ...) GREATEST 함수는 여러 exp중 가장 큰 값을 return합니다. exp는 column name일 수도 있고 특정 값일수도 있습니다. table name = products product_no category_no price 1250 10 10000 3028 10 8000 2075 10 7000 5217 10 12000 4203 20 11000 3356 20 5500 2103 20 3030 4301 20 6040 8043 30 1010 3356 30 5500 9034 30 9040 1234 30 6500 SELECT product_no, category_no, price, GREATEST(price, 5000) AS temp..
drop view if exists test_temporary_table; create temporary view test_temporary_table as select current_date ; select * from test_temporary_table ; -> 결과 : 2020-12-17 drop view if exists test_temporary_table; drop view view_name은 어떤 이름의 view를 삭제하는데 사용됩니다. 여기에 if exists라는 키워드를 붙이면 해당 view가 존재한다면 삭제하고 존재하지않는다면 그냥 넘어가게됩니다. 즉, 존재하지 않는 view를 drop하려할 때 생기는 에러를 방지할 수 있죠. create temporary view test_tempo..