전체보기
-
[Hive] 하이브 핵심정리[IT] 공부하는 개발자/Data engineering 2023. 10. 19. 19:30
하이브 개요 하이브는 하둡의 HDFS 데이터를 SQL로 질의할 수 있게 해주는 Hadoop 생태계의 일원이다. 하이브는 테이블(Table), 파티션(Partition), 버킷(Bucket) 세 개의 구조로 분할될 수 있다. 테이블을 HDFS 디렉토리에 대응시키고, 이를 파티션으로 분할 후 파티션을 버킷으로 차례차례 나눌 수 있다. 하이브의 장점 하이브의 HQL은 SQL과 문법이 비슷하다. 하이브는 여러 컴퓨팅 프레임워크에서 동작할 수 있다. (MapReduce, Spark, ...) 하이브는 HDFS 데이터에 Ad-hoc 질의를 할 수 있다. 하이브는 UDF, 사용자 정의 I/O 포맷을 지원한다. 하이브의 구조 테이블 테이블 = 디렉토리에 맵핑된다고 생각하면 된다. 하이브에서 salary 테이블을 생성하..
-
벤츠 C300 아방가르드 (하트)여행 공항 쇼핑 맛집 2023. 9. 29. 11:26
첫 차 구매 과정을 기록으로 정리! 1. 차가 필요해짐가장 큰 계기는 .. 아빠가 작년에 명퇴하시면서 올해 1월에 차를 폐차하셨다ㅠ 나는 출퇴근은 대중교통으로 해서, 차가 굳이 필요 없긴 했었다. 그래서 어쩌다가 가끔 필요할 때만 아빠차를 빌려 탔었는데... 그 "가끔 필요할 때" 가 충족이 안 되니까 생각보다 불편했다. 나는 쇼핑할 때 광명에 있는 가산 아울렛에 가는데... 거기까지 지하철 타고 가는 것도 힘들고...ㅠㅠㅠㅠ 하남 이마트 트레이더스에서 쇼핑할 수도 없게 됐고... (가는 건 괜찮지만 올 때는 짐이 아주 많이 생기니까..!!) 그래서 차를 사야겠다고 생각한 시점부터 주식을 천천히 팔기 시작했고 (현금 확보) 7월쯤에 필요한 현금을 다 만들어 놓고 본격적으로 차를 보기 시작했다..! 2. ..
-
[Auth] oAuth2 proxy + Okta 연동하기 예제[IT] 공부하는 개발자/Open Source 2023. 6. 11. 14:47
Oauth2 proxy 란? 백엔드 서비스에 대한 인증 및 권한 부여를 처리하는 중간 프록시 서버 OAuth 2.0 인증을 사용한다. 어떤 역할을 수행할까요? - 사용자 인증 - Provider 에 요청해 액세스 토큰을 발급 아키텍처 AS-IS: 사용자에게서 들어온 요청을 바로 업스트림(실제 서비스)으로 보낸다 TO-BE: 사용자에게서 들어온 요청은 업스트림으로 가기 전에 OAuth2 reverse proxy를 거친다. (중간에 Nginx를 한 번 더 거쳐도 되고, 거치지 않아도 된다.) 리버스 프록시 서버는 요청이 액세스 토큰을 가지고 있다면 업스트림으로 패스시켜 주고, 액세스 토큰이 없다면 Auth provider를 호출해 유저의 접근 여부를 확인, 액세스 토큰을 발급받아 유저에게 부여한다. Flow..
-
Zeppelin 과 Notebook 비교, 어떤 것을 고를까?[IT] 공부하는 개발자/Data engineering 2023. 5. 18. 08:52
Zeppelin 은 데이터 분석과 시각화를 위한 인터랙티브한 환경을 제공하는 Web Notebook 기반의 오픈 소스 프로젝트 Zeppelin을 쓰는 이유 인터랙티브한 환경 실시간으로 코드를 실행하고 결과를 확인할 수 있는 대화형 환경 -> 분석의 효율성 다중 언어 지원 다양한 언어로 코드를 작성하고 실행할 수 있음 -> 사용자가 선호하는 언어 선택 가능 ex) HDFS에 접근하고자 할 때에 상황에 맞게 Hive query 를 작성할 수도, Presto query를 작성할 수도 있다. Python, Scala등의 다양한 언어를 섞어가며 분석 코드를 짤 수 있고, Spark, Cassandra 등 다양한 분석 도구에도 붙을 수 있다. 시각화 기능 데이터 시각화를 위한 다양한 도구와 라이브러리를 지원하여 결..
-
[Terraform] 테라폼이란? 테라폼으로 인프라 구성하기[IT] 공부하는 개발자/Open Source 2023. 4. 23. 20:40
최근에 운영에서 AWS k8s 클러스터 셋업을 하면서... ALB, IAM 등을 테라폼으로 만들었는데 정말 편리하더라고요 인간은 이렇게 계속해서 대체되어 가는군요..ㅠㅋㅋㅋ 자동화의 물결을 피할 수가 없어요... 테라폼이란? 테라폼은 인프라를 코드로 관리할 수 있는 도구 테라폼을 쓰는 이유 1. 인프라를 코드로 관리할 수 있음 -> 자동화 가능! 테라폼을 사용하면 인프라를 코드로 관리할 수 있습니다. 이를 통해 서버나 네트워크 등의 인프라를 쉽게 생성, 수정, 삭제할 수 있습니다. 또한, 코드로 관리하므로 변경 이력도 추적할 수 있습니다. 코드로 관리하기 때문에 인프라를 자동으로 생성할 수 있습니다. 자동화를 통해 Human error를 줄일 수 있습니다. 2. 다양한 클라우드 서비스 지원 테라폼은 AW..
-
Dockerfile 작성방법, 운영에서 알아야 할 주의 사항![IT] 공부하는 개발자/Open Source 2023. 4. 21. 10:56
Docker image 이란? 도커 이미지는 도커 컨테이너를 실행하기 위한 파일 시스템과 실행할 애플리케이션에 대한 설정 정보를 포함하는 템플릿입니다. 도커 이미지는 다른 이미지와 레이어를 공유하여 생성됩니다. 새로운 이미지를 생성할 때, 이전 이미지의 레이어를 사용하여 이미지를 빌드합니다. 이전 이미지와 동일한 레이어가 있는 경우, 해당 레이어는 새로 생성하지 않고 재사용됩니다. 이렇게 함으로써, 도커 이미지를 더욱 효율적으로 빌드하고 저장할 수 있습니다. 도커 이미지는 Docker Hub와 같은 이미지 레지스트리에 저장됩니다. 이미지 레지스트리는 도커 이미지를 중앙에서 저장하고 배포하기 위한 서버입니다. 사용자는 이미지 레지스트리에서 이미지를 다운로드하여 도커 컨테이너를 실행할 수 있습니다. 도커 이..
-
[Streamlit] 설치 단계에서 발생한 이슈와 해결방법 정리[IT] 공부하는 개발자/Data engineering 2023. 4. 16. 02:11
Streamlit 이란?데이터 시각화를 지원하는 웹 애플리케이션 개발을 위한 파이썬 기반 오픈소스 라이브러리 왜 Streamlit을 써야 할까?1. 쉬움 Data scientist 들이 가장 편하게 느끼는 파이썬 언어로 작성되어 있어서 러닝 커브가 적다. 2. 시각화 지원 시각화를 지원하는 프론트엔드 라이브러리가 많지 않은데, Streamlit 은 다양하고 많은 시각화 라이브러리를 지원해서 차트, 그래프를 높은 자유도로 만들 수 있다. 3. 반응형 웹 반응형 웹을 내부적으로 구현해 주므로 개발 비용을 절약할 수 있다. 4. 비교군 중 가장 인기가 많은 시각화 오픈소스 Github contribution 을 기준으로 비교해 보면 비슷한 오픈소스인 Panel 보다 7배 이상 contribution 이 많다...
-
[Kubernetes] CrashLoopBackOff 이슈 트러블슈팅 (+Nginx)[IT] 공부하는 개발자/Open Source 2023. 4. 15. 12:23
[Kubernetes] CrashLoopBackOff 이슈 트러블슈팅 직접 도커파일을 작성하고 쿠버네티스로 배포하다 보면 CrashLoopBackOff 에러를 자주 만나게 된다. CrashLoopBackOff는 컨테이너가 시작되지 않고 종료되어 버릴 때 발생하기 때문에, 컨테이너에 직접 들어가서 명령어를 실행하거나 테스트를 하는 것이 불가능하다. (kubectl exec... 실행 안 돼요!) 그러므로 kubectl logs 명령어를 실행해서 컨테이너가 종료되기 직전의 로그를 확인해야 한다. kubectl logs 해결 사례 내가 찾아낸 이슈는 2가지였다. 1. 내가 이미지 Dockerfile에 작성한 app 실행 명령이 수행되지 않고 컨테이너가 종료되었다. - 발생 원인 Dockerfile 에 작성된 ..