• 티스토리 홈
  • 프로필사진
    31514
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
31514
  • 프로필사진
    31514
    • 분류 전체보기 (109)
      • Book (66)
        • Learning SQL (9)
        • SQL 레벨업 (8)
        • 견고한 데이터 엔지니어링 (5)
        • 운영체제 (2)
        • 스파크 완벽 가이드 (9)
        • 파이썬 코딩의 기술 (29)
        • 분산 컴퓨팅 (4)
      • 개발 (25)
      • 기타 (10)
        • 출퇴근 공부 간단 정리 (7)
      • ELK (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
      • 31514의 이전 블로그는 여기로!
      등록된 공지가 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • 포스트글 썸네일 이미지
      2장 - 데이터 엔지니어링 수명 주기
      31514:
      개요1장에서 봤던 데이터 엔지니어링 수명 주기 그림을 다시 보자.데이터 엔지니어링 수명 주기는 원천 시스템에서 데이터를 가져와 저장하는 것에서 시작한다.다음으로 데이터를 변환한 뒤 분석가, 데이터 과학자, ML 엔지니어 등에게 데이터를 제공한다.데이터 저장은 데이터가 처음부터 끝까지 흐르면서 수명 주기 전체에 걸쳐 발생한다.다시 한 번 말하지만, 기반이 되는 것은 드러나지 않는 요소다. 데이터 생성데이터 엔지니어는 원천 시스템의 작동 방식, 데이터 생성 방식, 데이터의 빈도 및 속도, 생성되는 데이터의 다양성을 이해해야 한다.또한 데이터 파이프라인과 분석을 중단할 수 있는 변경 사항에 대해 원천 시스템 소유자와 소통 라인을 유지해야 한다. 원천 시스템의 까다로운 점 중 하나는 스키마의 진화다.원천 시스템..
      • 2024-11-01 15:55:51
    • 포스트글 썸네일 이미지
      1장 - 데이터 엔지니어링 상세
      31514:
      데이터 엔지니어링이란?데이터 엔지니어링은 원시 데이터를 가져와 분석 및 머신러닝과 같은 다운스트림 사용 사례를 지원하는, 고품질의 일관된 정보를 생성하는 시스템과 프로세스의 개발, 구현 및 유지 관리이다.데이터 엔지니어링은 보안, 데이터 관리, 데이터 운영, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링의 교차점이다. 데이터 엔지니어는 원천 시스템에서 데이터를 가져오는 것부터 시작해 분석 또는 머신러닝과 같은 사용 사례에 데이터를 제공하는 것으로 끝나는 데이터 엔지니어링 수명 주기를 관리한다. 데이터 엔지니어링 수명 주기데이터 엔지니어링 수명 주기는 전체 수명 주기에 걸쳐 중요한 아이디어인 드러나지 않는 요소라는 기술 역량을 포함한다.이러한 기술 역량을 사용하려면, 데이터 도구들을 평가하는 방법..
      • 2024-10-31 15:06:53
    • 포스트글 썸네일 이미지
      [BW 31] 인자에 대해 이터레이션할 때는 방어적이 돼라
      31514:
      입력 전체의 합계를 내고 각 원소를 나누는 정규화 함수가 있다고 하자.def normalize(numbers): total = sum(numbers) result = [] for v in numbers: percent = 100 * v / total result.append(percent) return result 이 함수에 데이터가 들어 있는 리스트를 입력하면 잘 작동한다.visits = [15, 35, 80]percetages = normalize(visits)print(percetages)>>>[11.538461538461538, 26.923076923076923, 61.53846153846154] 코드의 확장성을 높이기 위해 데이터를 파일에서 읽어온다..
      • 2024-10-31 11:01:23
    • 포스트글 썸네일 이미지
      [BW 30] 리스트를 반환하기보다는 제너레이터를 사용하라
      31514:
      리스트에 결과를 추가하고 반환하는 코드는 잡음이 많고, 모든 결과를 리스트에 다 저장해야 하므로 메모리를 많이 소진한다.def index_words(text): result = [] if text: result.append(0) for index, letter in enumerate(text): if letter == ' ': result.append(index + 1) return resultaddress = '서울특별시 양천구 목동동로 12길 60'result = index_words(address)print(result)>>>[0, 6, 10, 15, 19] 제네레이터를 사용하면 함수 내부에서 리스트와 상호작용하는 코드가 사라지므로 ..
      • 2024-10-30 10:52:19
    • 포스트글 썸네일 이미지
      [BW 29] 대입식을 사용해 컴프리헨션 안에서 반복 작업을 피하라
      31514:
      회사에서 주문을 관리하기 위한 프로그램을 작성한다고 하자.고객의 주문 요청이 재고 수량을 넘지 않아야 한다.stock = { '못': 125, '나사못': 35, '나비너트': 8, '와셔': 24,}order = ['나사못', '나비너트', '클립']def get_batches(count, size): return count // sizeresult = {}for name in order: count = stock.get(name, 0) batches = get_batches(count, 8) if batches: result[name] = batchesprint(result)>>>{'나사못': 4, '나비너트': 1} 위 코드를 컴프리헨션으로 바..
      • 2024-10-29 14:41:32
    • 포스트글 썸네일 이미지
      [분산 컴퓨팅] CAP과 FLP 정리
      31514:
      CAP네트워크 문제로 인해 분산된 장치에 두 가지 문제가 발생할 수 있다.일관성 문제 - 두 개의 분산된 장치가 일관되지 않은 정보를 제공하는 문제가용성 문제 - 동일한 정보를 제공하기 위해 처리 속도가 느려지는 문제 CAP 정리는 네트워크 단절로부터 회복이 이루어지는 상태에서 서로 다른 분산 장치들이 위의 두 조건을 동시에 충족할 수 없음을 증명한 이론이다.따라서 분산 컴퓨팅의 용도에 따라 궁극적 일관성(가용성 우선) 또는 강한 일관성(일관성 우선) 중 선택할 필요가 있다. 여기서 말하는 궁극적 일관성과 강한 일관성을 쉽게 설명하면 다음과 같다.궁극적 일관성 - 시간이 지나면 결국 모든 노드가 같은 데이터를 갖게 된다는 것을 보장하기 때문에 일단 사용자에게 데이터를 제공한다.강한 일관성 - 모든 사용자..
      • 2024-10-29 14:09:11
    • 포스트글 썸네일 이미지
      [BW 28] 컴프리헨션 내부에 제어 하위 식을 세 개 이상 사용하지 말라
      31514:
      컴프리헨션은 루프를 여러 수준으로 내포하도록 허용한다.예를 들어 리스트 안에 리스트가 들어 있는 형태로 정의한 행렬을 단일 리스트로 단순화하는 예제를 살펴보자.matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]flat = [x for row in matrix for x in row]print(flat)>>>[1, 2, 3, 4, 5, 6, 7, 8, 9] 또한, 컴프리헨션에서 다중 루프를 사용하는 예를 살펴보자.matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]squared = [[x ** 2 for x in row] for row in matrix]print(squared)>>>[[1, 4, 9], [16, 25, 36], [49, 64, 81]] 하지..
      • 2024-10-28 12:58:42
    • 포스트글 썸네일 이미지
      [BW 27] map과 filter 대신 컴프리헨션을 사용하라
      31514:
      파이썬에서는 컴프리헨션을 사용해 리스트, 딕셔너리, 집합 등을 간결하게 생성할 수 있다.a = [1, 2, 3]li = [x ** 2 for x in a]dic = {x: x ** 2 for x in a}s = {x ** 2 for x in a}print(li)print(dic)print(s)>>>[1, 4, 9]{1: 1, 2: 4, 3: 9}{1, 4, 9}
      • 2024-10-28 12:48:26
    조회된 결과가 없습니다.
    [1][···][3][4][5][6][7][8][9][···][14]
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바