일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- google apps script
- Kotlin
- GIT
- Python
- string
- django
- Google Excel
- Excel
- Tkinter
- matplotlib
- dataframe
- Google Spreadsheet
- gas
- Java
- array
- c#
- SQL
- hive
- list
- numpy
- Github
- Apache
- PySpark
- PANDAS
- Mac
- PostgreSQL
- Redshift
- 파이썬
- math
- Today
- Total
목록Redshift (76)
달나라 노트
pg_catalog를 이용하면 DB에 있는 Schema list를 얻을 수 있습니다. select * from pg_catalog.pg_namespace ; pg_catalog의 pg_namespace에서 select를 하면 schema list와 schema의 owner id를 얻을 수 있습니다. select * from pg_catalog.pg_user ; pg_catalog.pg_user에는 user 정보가 저장되어있습니다. pg_user의 usesysid 컬럼과 pg_namespace의 nspowner 컬럼이 user id를 의미하므로 이 두 컬럼을 join하서 사용하면 됩니다.
Redshift에서 제공하는 fnv_hash함수는 모든 데이터를 64비트 FNV-1a 비암호화 hash 값으로 변환해줍니다. Syntax fnv_hash(value) 사용은 위처럼 간단하게 fnv hash값으로 변환할 value만 전달해주면 됩니다. select fnv_hash(1); --> -5968735742475085900 select fnv_hash(58); --> -8267080261417850737 select fnv_hash('apple'); --> -627580740061692481 select fnv_hash('sky'); --> -9060523260731967306 select fnv_hash('Amazon'); --> -4105363379246965939 select fnv_hash(..
Redshift에서 exp 함수를 이용하면 자연상수를 지수함수처럼 이용할 수 있습니다. Syntax exp(x) exp(x)는 e^x와 같습니다. 지수함수라고 보시면 됩니다. select exp(1), --> 2.718281828459045 exp(0), --> 1 exp(1) - 1, --> 1.718281828459045 1 / exp(1) --> 0.367879441171442 ; exp(1) = e^1 = e = 2.718281828459045 exp(0) = e^0 = 1 exp(1) - 1 = e^1 - 1 = e - 1 = 1.718281828459045 1 / exp(1) = 1 / e^1 = 1 / e = 0.367879441171442
Redshift의 split_part 함수를 사용하면 특정 구분자를 기준으로 텍스트를 나눌 수 있습니다. Syntax split_part(text, delimiter, part) text = split_part를 적용할 original text입니다. delimiter = text를 어떤 것을 기준으로 나눌지에 대한 구분자입니다. part = delimiter를 기준으로 나뉜 text 중 몇 번째 text를 return할지에 대한 숫자를 적습니다. 반드시 0 이상이어야 하며 part의 숫자가 나뉜 text 개수보다 더 많다면 공백을 return합니다. select split_part('10, cc, 3, bb, 5, aa', ', ', 1), --> 10 split_part('10, cc, 3, bb, ..