[TIL] Hive Metastore vs Unity Catalog의 차이
·
TIL
데이터브릭스 플랫폼에서 개발하면서 데이터를 담고있는 공간의 차이가 궁금해졌다.엔지니어를 하다보면 데이터브릭스에서 유니티 카탈로그(Unity Catalog)라는 단어가 계속 나오는데, 유니티 카탈로그 외의 하이브메타스토어는 유니티카탈로그가 아닌건가?에 대해서 의문이 들었다. 일단,  Unity Catalog와 Hive Metastore 둘다 메타데이터 등 데이터를 관리하는 데 사용되는 도구이지만 차이점은 명확히 있다.Unity Catalog는 Databricks에서 제공하는 데이터를 관리하는 기능으로, 클라우드에서 데이터를 일관성 있게 관리하고 접근을 세밀하게 제어할 수 있도록 설계되었다. AWS, Azure 등의 다양한 클라우드 환경을 지원하므로 멀티 클라우드에서 데이터를 활용하려는 경우 유용하다.Hiv..
[Algorithm] 프로그래머스 피자나눠먹기(2)
·
알고리즘
문제출처머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.풀이코드def solution(n): answer = 0 div = 6 while div % n != 0: div += 6 answer = div // 6 return answer 코드설명1. div 변수에 6을 대입2. 나머지 값이 0이 아닐때까지 (while 구문으로 조건에 만족할 때까지) 구문 반복3. 0이 아닐 시에 6을 더해가면서 최소공배수 찾기4. 최소공배수를 찾았다면 6으로 나..
[Algorithm] 백준 영수증 #2587
·
알고리즘/Python
문제출처어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다.평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면10 30 30 40 60이 되고 따라서 중앙값은 30이 된다.다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오.풀이코드numbers = [int(input()) for i i..
[TIL] ValueError: numpy.dtype size changed: Binary Incompatibility 해결 방법 (With Log4j)
·
TIL
개발을 하다 보면 다양한 환경에서 여러 오류가 발생한다. 특히 파이썬 라이브러리들을 사용할 때 라이브러리 간 버전 호환성 문제로 인해 예상치 못한 오류가 발생할 때가 있는데, 최근에 겪었던 문제 중 하나는 NumPy를 사용할 때 나오는 다음과 같은 경고 메시지였다.문제 상황 배치 워크플로우를 돌리는 경우에 cluster 에러가 나서 이후에 있는 모든 작업이 전부 중단됐다. log4j의 strerr을 다운받아서 확인해보니아래와 같은 경고가 나타났다.ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject이 경고는 NumPy의 dtype 크기가 변..
[Databricks] Data Engineer Professional 자격증 취득기 : 나의 경험과 팁
·
프로젝트
이전에 취득했던 Databricks Engineer Associate가 있었지만, 올해 okr에 신규 certificate 취득이 있기 때문에 Databricks Professional 자격증을 취득하는 것은 언젠가 취득해야만 했었던 과정이였다.영어로 시험을 봐야하기 때문에 결코 쉽지만은 않았지만, 그 과정은 매우 보람찼고 새로운 개념에 대해서 많이 알게 되었다.이번 글에서는 내가 이 자격증을 준비하면서 겪었던 경험과, 이를 준비하는 사람들에게 도움이 될 수 있는 팁들을 공유하고자 한다.왜 Databricks Professional 자격증을 선택했는가?데이터 분석과 엔지니어링의 중요성이 나날이 커지면서 Databricks는 이러한 분야에서 핵심적인 플랫폼으로 자리 잡고 있다. 특히 클라우드 기반에서 손쉽..
[TIL] Decimal vs Float 의 차이 (with Trim)
·
TIL
실수를 표현하는 방식컴퓨터는 기본적으로 2진수를 사용하는 기계이다.정수(ex. 1,2,3) 를 표현하는데에는 무리없이 표현할 수 있지만 소수를 표현할 때에는 무한한 2진수로 표현이 된다.즉, 소수점 0.1을 2진수로 표현한다면 무한 소수로 표현이 된다는 말과 같다.FloatFloat은 부동 소수점을 사용하는 타입으로, 소수점의 위치가 데이터의 형태에 따라 언제든지 바뀔 수 있으며 실제로 소수점을 사용하다보면 float은 소수점 외, 많은 소수점을 가지고 있는 것을 볼 수 있을것이다.즉, float은 decimal과 달리, 이진수 기반의 연산을 지니고 있으며 십진수를 이진수로 변환시킬때 이진소수인 형태를 띄고 정확히 맞아 떨어지지 않는 값들에 대해선 무한소수가 되어 정확하게는 그 값에 근사값이 될 확률이 ..
[Databricks] Delta Live Table 이란?
·
데이터 엔지니어링/Spark
델타 라이브 테이블 (Delta Live Table)오늘은 데이터 파이프라인을 간편하게 실행 할 수 있는 델타 라이브 테이블을 설명하고자 한다.DLT란 델타 라이브 테이블이라고 말하며, 스트리밍 및 배치 ETL 방식을 처리할 수 있도록 지원하며 데이터 브릭스에서 제공하는 기능으로, 데이터 파이프라인을 개발 할 수 있는 자동화 서비스이다.  DLT로 처리 시 작업 오케스트레이션, 클러스터 관리, 모니터링, 데이터 품질 및 오류 처리 등을 자동으로 처리할 수 있다.데이터브릭스에서 델타 라이브 테이블을 사용하려면 dlt 라이브러리를 사용하면 되며, 시작하기 위해서는 델타 라이브 테이블의 파이프라인을 우선 생성해주어야 한다.- 파이프라인 실행 모드는 trigger와 continuous로 구분된다.> trigge..
[AWS] S3 다른 계정간 Bucket 개체 복사
·
데이터 엔지니어링/AWS
Source / Target 으로 분리해서 구축서로 다른 계정을 가진 S3끼리 CLI로 쉽게 개체를 복사하는 방법을 소개하려고 한다.우선, Target에 있는 계정에서 정책을 생성한다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:", "arn:aws:/*" ] }, ..