일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PostgreSQL
- SQL
- numpy
- Redshift
- math
- hive
- gas
- string
- Kotlin
- 파이썬
- Python
- PANDAS
- Excel
- GIT
- Google Excel
- list
- django
- Tkinter
- Apache
- PySpark
- Java
- matplotlib
- google apps script
- dataframe
- c#
- array
- Mac
- Github
- Google Spreadsheet
- Today
- Total
목록SQL (63)
달나라 노트
hive에서 직접 쿼리를 돌릴때보단 spark에서 돌리는게 좀 더 빠릅니다. 물론 결과 데이터가 크면 용량 초과 에러가 뜰 순 있지만요. from pyspark.sql import SparkSession spark = SparkSession.builder\ .appName('Test_runner')\ .config('hive.mapred.mode', 'nonstrict')\ .config('hive.exec.dynamic.partition', 'true')\ .config('hive.exec.dynamic.partition.mode', 'nonstrict')\ .config('hive.exec.parallel', 'true')\ .config('hive.stats.fetch.column.stats', '..
date_add(datepart, interval_value, date/time/timestamp) date_add 함수는 위처럼 사용할 수 있습니다. datepart = 날짜 연산을 할 날짜 단위(e.g. day, week, month, year ...) interval_value = 날짜 연산을 할 시간의 양 date/time/timestamp = 기준 날짜 select current_date; --> 2021-02-22 select date_add('day', 10, current_date); --> 2021-03-04 00:00:00.000000 select date_add('week', 2, current_date); --> 2021-03-08 00:00:00.000000 select date_..
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..
Syntax date_trunc('datepart', date/timestamp) date_trunc 함수는 위처럼 사용할 수 있습니다. 주어진 date를 명시한 datepart까지만 남기고 그 이하는 모두 자른 후 timestamp를 반환합니다. select current_date; --> 2021-02-18 select date_trunc('year', current_date); -->2021-01-01 00:00:00.000000 select date_trunc('month', current_date); -->2021-02-01 00:00:00.000000 select date_trunc('week', current_date); -->2021-02-15 00:00:00.000000 select da..