분류 전체보기107 [MSSQL] 해당 날짜 주차의 월요일에 해당하는 날짜 추출하기 빅쿼리에서는 DATE_TRUNC(date,week(monday))로 엄청 편하게 쓰는데 MsSQL은 조금 복잡하다.SET DATEFIRST 1;을 사용해주는게 제일 편리해서 나는 이 방법으로 사용하고 있다. *SET DATEFIRST란? 주에서 첫번째 시작일을 지정해주는 것 월화수목금토일1234567 오늘이 2024-06-12라고 했을 때, MsSQL에서 해당 날짜 주차의 월요일에 해당되는 2024-06-10을 뽑는 쿼리SET DATEFIRST 1;SELECT CONVERT(DATE, DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), GETDATE())) 따라서 사용할 때는 GETDATE() 부분을 내가 사용할 날짜 컬럼으로 바꾸어주면 된다! 데이터베이스/SQL 2024. 6. 12. [MSSQL] SQL Server에서 SAFE_DIVIDE 사용하기 Divide by zero error encountered 이 오류는 분모가 0이 들어갈 때 나누기를 시도할 때 발생하는 에러임! 빅쿼리 같은 경우 SAFE_DIVIDE라는 함수가 있어서 아주 편하게 사용할 수 있는데 ... 😥SELECT IFNULL(SAFE_DIVIDE(a,b),0) AS safe_exampleFROM sample_table MsSQL에서 사용할려하니 당연히 없는 함수라 뜬다. 그럼 어떻게 사용하면 될까 ? 1.case when 으로 0일 때 null 처리 해주기. SELECT CASE WHEN b=0 THEN null ELSE a / b END AS sample FROM sample_table 분모가 0이 될 때, case when으로 null로.. 데이터베이스/SQL 2024. 6. 10. [Git] 뉴비를 위한 Github 브랜치(branch) 가이드 (CLI ver) [Git] 뉴비를 위한 Github 사용법 총정리 (CLI ver)데이터 분석가지만, 서비스에 들어가는 알고리즘이나 로직개발을 하며 협업을 위해 Git사용이 꼭 필요해졌고 같은 초심자의 입장에서 Git을 사용하며 어려웠던 부분을 공유하면 좋을 것 같아 팀sseozytank.tistory.com 위 글에서 마지막 맺음 말로 브랜치를 다뤄보겠다고 사라진지 언 1년 반.... 댓글을 보고 다시 생각나 부랴부랴 작성하게 되었다. 이직 이후 개발적인 업무는 하고있지않아 깃허브를 따로 사용하진 않았기 때문에 글이 올라오지 않았었다. 그래서 이번엔 전 직장 동료분이신 프론트엔드 개발자 C님을 괴롭혀서 글을 작성해 왔다! 깃허브를 쓴다면 반드시 알아야하는 브랜치 가이드 시작 이번 글도 흐름을 하나하나 이해하게 하기 .. 깃허브 github 2024. 5. 30. [Zeppelin] jdbc에서 불러온 쿼리를 Python DataFrame으로 불러오기 제플린에는 Share Table Object가 가능하다. => Zeppelin 공식 문서 Apache Zeppelin 0.11.0 Documentation: Zeppelin-Contextspark.sql (*), bigquery, cassandra, elasticsearch, file, hbase, jdbc (*), livy, markdown, neo4j, python, shell (*), zenginezeppelin.apache.org 공식 문서에서는 %jdbc를 사용하는데, 나는 hive를 사용해주었고 방법은 똑같다! 인터프리터만 본인 DB에 맞는걸로 변경해주면 된당. 첫번째로, 불러오고 싶은 쿼리를 작성해준 후 인터프리터에 (saveAs=테이블명)을 추가해준다. %hive(saveAs=테이블명) .. 카테고리 없음 2024. 5. 23. [Hive] Hive를 설치하고 데이터 로드 후 쿼리를 해보자 우분투에서 Hive를 설치하고, Postgres로 연결한 후 사용해보도록 하자. 우선 Hive 설치 부터 시작하기. (。•̀ᴗ-)✧ (Tez는 나중에!) Linux Ubuntu 22.05.4Hadoop 3.3.4 ⭐참고 자료⭐Hive 설치하기https://spidyweb.tistory.com/215Hive 사용해보기AWS : HDFS로 데이터 로드 ⭐같이 보면 좋은 자료들⭐Hadoop 설치하기https://sseozytank.tistory.com/78Linux VI 사용 방법https://sseozytank.tistory.com/77 1. Hive 설치하기 (1) Hive 설치https://dlcdn.apache.org/hive 접속 후, 원하는 버전의 bin.tar.gz 에 오른쪽 마우스 -> 링.. 하이브 Hive 2024. 5. 17. [Spark] PySpark에서 struct 구조 분해하기 [Spark] PySpark에서 explode 함수로 array구조 분해하기https://stackoverflow.com/questions/57811415/reading-a-nested-json-file-in-pyspark pyspark json을 read 하다가, 구조가 너무 복잡하게 read 되어서 분리하는데 애를 좀 먹었다. array는 쉬운데 struct 구조가 넘 어려웠다..sseozytank.tistory.com 전 포스팅에서, explode 함수로 array 구조를 펼쳤다. 그럼 이번엔 struct 구조의 데이터를 분해해보자. from pyspark.sql import functions as F# 스파크 세션 생성spark = SparkSession.builder \ .appName.. 스파크 Spark 2024. 5. 10. [Spark] PySpark에서 explode 함수로 array구조 분해하기 https://stackoverflow.com/questions/57811415/reading-a-nested-json-file-in-pyspark pyspark json을 read 하다가, 구조가 너무 복잡하게 read 되어서 분리하는데 애를 좀 먹었다. array는 쉬운데 struct 구조가 넘 어려웠다..... 일단 array 구조 분해부터 explode로 해보자. from pyspark.sql import SparkSession# 스파크 세션 생성spark = SparkSession.builder \ .appName("Transform DataFrame") \ .getOrCreate()from pyspark.sql import functions as Fdata = [(['A', '.. 스파크 Spark 2024. 5. 10. [Spark] Pyspark 데이터 전처리 단골 코드 (Pyspark Method ver.) 👆 목차를 활용하면 편하게 읽을 수 있다 (오른쪽에 목차가 같이 따라다녀요!)pandas와 비슷한 pyspark...! 하지만 묘하게 헷갈린다. 자주 쓰는 코드들을 정리해보자. 내가 만드는 코드집 우선 전처리편 👩🎨 1.컬럼명 변경 샘플 데이터 data = [ (5.1, 3.5, 1.4, 0.2, "Iris-setosa"), (4.9, 3.0, 1.4, 0.2, "Iris-setosa"), (4.7, 3.2, 1.3, 0.2, "Iris-setosa"), (4.6, 3.1, 1.5, 0.2, "Iris-setosa"), (5.0, 3.6, 1.4, 0.2, "Iris-setosa")]# DataFrame 생성df = spark.createDataFrame(data, [.. 스파크 Spark 2024. 4. 26. [회고록] 빅데이터 분석 환경 세팅 회고 2024-05-09 즈음 이번 새 프로젝트에서 대용량 데이터를 핸들링하게 되면서, 본격적으로 빅데이터 분석 환경 세팅을 시작했다. 다행히 시간이 넉넉해서, 팀장님께서 기초부터 할 수 있도록 업무와 과제를 잘 분배해주셨다. 서비스의 처음을 같이 경험할 수 있는 회사에서만 누릴 수 있는 특권. 아직 갈길이 멀긴 하지만, 다 깨달았다! 라고 느낄 때 까지는 시간이 많이 걸릴 것 같아, 지금 수준에서 무엇을 배웠고 어떤게 부족했는지 정리해보고 더 나은 내일을 위한 초석을 다져보자. 무엇을 하였는가?생활코딩 강의를 바탕으로 리눅스의 기초 및 운영 체제에 대한 이해를 했다. Server와 Port에 대해 기본을 이해하고, 내가 만든 분석 환경을 원격에서 (보안을 제외하고) 접속할 수 있도록 설정해보았다. VI의 .. 탱크/회고 2024. 4. 25. [Python] 파이썬으로 하는 시계열 데이터 분해 (Seasonal_decompose) 파이썬으로 시계열 분해를 해보자! 샘플 데이터로는 애플의 주가 데이터를 사용해볼 것이다. 연습용으로 데이터 사용할 사람만 샘플 데이터 다운로드 #패키지가 없는 사람만 pip install yfinanceimport pandas as pdimport yfinance as yf# 시작 날짜와 끝 날짜 지정start_date = '2020-01-01'end_date = '2024-04-24'# 애플 주식의 데이터를 불러오기aapl = yf.download('AAPL', start=start_date, end=end_date)# 결과 출력aapl.head() 받아오면, 아래와 같이 멀티 인덱스로 개장 시, 고점, 저점 ,폐장 시, 조정 종가, 거래량 데이터가 받아진 것을 확인할.. 파이썬 Python 2024. 4. 24. [Zeppelin] 제플린(Zeppelin) 원격 접속 허용 Zeppelin 원격 접속이 가능하게 설정 제플린을 다운 받고 실행해주면, zeppelin이 바로 켜지긴 하는데 local에서만 접속할 수 있다. 나는 VM에서 실행 시킨걸 윈도우에서 열어야하기 때문에 원격 접속을 허용 시켜 주겠다. cd ~/zeppelin-0.11.0-bin-all/conf cp zeppelin-site.xml.template zeppelin-stie.xml vi zeppelin-site,xml 처음 밑줄 쳐진 부분의 경우 127.0.0.1로 적혀져있을텐데, 이건 로컬 호스트의 수신만 받겠다는 얘기기 때문에 모든 아이피의 수신을 받는다~는 뜻으로 0.0.0.0으로 수정해줘야 한다 (description에 적힌 내용 그대로!) 그리고 두번 째 밑줄의 8888은 원래 8080일텐데, 나는.. 제플린 Zeppelin 2024. 4. 19. [Zeppelin] 제플린(Zeppelin)에서 스파크(Spark) 연동하고 Pyspark 실행하기 제플린을 쓰면 분석 내용을 공유하기도 편하고 시각화가 내장되어 있어서 GUI로 시각화하기도 엄청 편하다. 이래저래 활용하면 효율적일 것 같아 제플린 셋팅을 진행하고 있다. 요즘 빅데이터 분석 환경 구축 때문에 퇴근하고도 계속 글쓰고 공부하는데 어렵지만 하면 할수록 퍼즐이 하나하나 맞춰지는 것 같아서 너무 뿌듯하다. 사실 실무에선 우리 데이터 엔지니어님께서 깔아주신 판에서 분석만 해도 되지만... 내가 시니어가 된다면 직접 분석 환경을 셋팅할 일이 생길 수도 있을 것이고, 적어도 내가 쓰는 툴이 어떻게 구성되고 어떻 원리로 동작하는지 정도는 자아를 갖고있어야 한다고 생각한다. 오늘은 ubuntu에서 깔아둔 스파크를 제플린에서 바로 세션 연결을 해보고 Pyspark 테스트 코드까지 쳐보자. 이것도 엄청엄청.. 제플린 Zeppelin 2024. 4. 18. 이전 1 2 3 4 5 6 ··· 9 다음