- 5장 - 수명 주기 1단계 원천 시스템에서의 데이터 생성31514개요일반적인 운영 원천 시스템 패턴과 중요한 원천 시스템 유형 설명시스템이 생성하는 데이터와 원천 시스템을 사용할 때 고려해야 할 사항 검토드러나지 않는 요소가 데이터 엔지니어링 수명 주기의 첫 번째 단계에 어떻게 적용되는지 논의원천 시스템에서 생성되는 데이터의 특성을 이해하는 것은 중요하다. 데이터 원천: 데이터는 어떻게 생성될까?파일과 비정형 데이터파일은 바이트의 시퀀스로서, 일반적으로 디스크에 저장된다.정형 - 엑셀, CSV반정형 - JSON, XML, CSV비정형 - TXT, CSV APIAPI는 시스템 간에 데이터를 교환하는 표준 방식이다.API가 데이터 수집 작업을 단순화하는 것 같지만, 실제로 많은 API가 여전히 데이터의 복잡성을 상당 부분 드러내고 있다.데이터 엔지니어는 종종 맞춤형 AP..
- 2024-11-15 11:41:09
- 4장 - 데이터 엔지니어링 수명 주기 전체에 걸친 기술 선택31514데이터 엔지니어는 데이터 애플리케이션과 사용자에게 서비스를 제공하기 위해 수명 주기 전체에 걸쳐 데이터를 관리하는 적절한 기술을 선택해야 한다.많은 사람이 아키텍처와 도구를 혼동하는데, 아키텍처는 무엇을, 왜, 언제 구축해야 하는지 결정하고, 도구는 어떻게 구축할지를 결정한다.따라서 아키텍처를 올바르게 구축하기 전까지는 기술을 먼저 선택하는 일이 없도록 유의해야 한다. 이제 데이터 기술을 선택할 때 고려할 사항에 대해 알아보자. 팀의 규모와 능력cargo-cult engineering는 소규모 데이터 팀이 대기업의 기술과 사례를 모방하려다 실패하는 실수를 말한다.소규모 팀이나 기술력이 약한 팀이라면, 가능한 많은 관리형 도구와 SaaS 도구를 사용해서 비즈니스에 직접적으로 가치를 부여하는 것이 좋다.새로..
- 2024-11-13 11:39:43
- [BW 37] 내장 타입을 여러 단계로 내포시키기보다는 클래스를 합성하라31514클래스와 상속을 사용하는 방법을 잘 알아두면 유지 보수하기 쉬운 코드를 작성할 수 있다. 파이썬 내장 딕셔너리 타입을 사용하면 객체의 생명 주기 동안 동적인 내부 상태를 잘 유지할 수 있다.동적이라는 말은 어떤 값이 들어올지 미리 알 수 없는 식별자들을 유지해야 한다는 뜻이다.예를 들어 학생들의 점수를 기록해야 하는데, 이름은 미리 알 수 없는 상황이라고 하자.class SimpleGradeBook: def __init__(self): self._grades = {} def add_student(self, name): self._grades[name] = [] def report_grade(self, name, score): self._..
- 2024-11-11 11:20:24
- 3장 - 우수한 데이터 아키텍처 설계31514데이터 아키텍처가역적 의사결정은 세상의 변화와 새로운 정보 수집에 따라서 프로세스를 조정할 수 있게 해준다.조직이 성장함에 따라 자연스럽게 기업의 경직화가 발생하는 경향이 있는데, 이때 되돌릴 수 있는 결정 문화를 채택하면 각종 의사결정에 수반되는 위험을 줄임으로써 이러한 경직화를 극복하는 데 도움이 된다. 데이터 엔지니어가 최적의 시스템을 설계하려면 모든 단계에서 트레이드오프를 고려해야 하며, 동시에 값비싼 기술 부채를 최소화해야 한다. 데이터 아키텍처는 기업의 진화하는 요구 사항을 지원하는 시스템 설계로, 트레이드오프에 대한 신중한 평가를 통해 유연하고 되돌릴 수 있는 결정을 내림으로써 실현된다. 우수한 데이터 아키텍처의 원칙공통 컴포넌트를 현명하게 선택하라데이터 엔지니어의 주요 업무 중 하나는 조직..
- 2024-11-08 15:15:02
- [BW 33] yield from을 사용해 여러 제너레이터를 합성하라31514다음은 제너레이터를 사용해 화면의 이미지를 움직이게 하는 그래픽 프로그램 예제이다.처음에는 이미지가 빠르게 이동하고, 잠시 멈춘 다음, 다시 이미지가 느리게 이동한다.def move(period, speed): for _ in range(period): yield speeddef pause(delay): for _ in range(delay): yield 0def animate(): for delta in move(4, 5.0): yield delta for delta in pause(3): yield delta for delta in move(2, 3.0): yield deltadef render(delta): ..
- 2024-11-08 10:52:39
- [BW 32] 긴 리스트 컴프리헨션보다는 제네레이터 식을 사용하라31514리스트 컴프리헨션의 입력이 커지면 메모리를 상당히 많이 사용하고, 그로 인해 프로그램이 중단될 수 있다. 이 문제를 해결하기 위해 파이썬은 제네레이터 식을 제공한다.제네레이터 식을 실행해도 출력 시퀀스 전체가 실체화되지 않고, 이터레이터가 생성된다.it = (len(x) for x in open('my_file.txt')) 두 제네레이터 식을 합성할 수도 있다.roots = ((x, x ** 0.5) for x in it) 다만 제네레이터가 반환하는 이터레이터에는 상태가 있기 때문에 한 번만 사용해야 한다.
- 2024-11-01 16:10:28
- 2장 - 데이터 엔지니어링 수명 주기31514개요1장에서 봤던 데이터 엔지니어링 수명 주기 그림을 다시 보자.데이터 엔지니어링 수명 주기는 원천 시스템에서 데이터를 가져와 저장하는 것에서 시작한다.다음으로 데이터를 변환한 뒤 분석가, 데이터 과학자, ML 엔지니어 등에게 데이터를 제공한다.데이터 저장은 데이터가 처음부터 끝까지 흐르면서 수명 주기 전체에 걸쳐 발생한다.다시 한 번 말하지만, 기반이 되는 것은 드러나지 않는 요소다. 데이터 생성데이터 엔지니어는 원천 시스템의 작동 방식, 데이터 생성 방식, 데이터의 빈도 및 속도, 생성되는 데이터의 다양성을 이해해야 한다.또한 데이터 파이프라인과 분석을 중단할 수 있는 변경 사항에 대해 원천 시스템 소유자와 소통 라인을 유지해야 한다. 원천 시스템의 까다로운 점 중 하나는 스키마의 진화다.원천 시스템..
- 2024-11-01 15:55:51
- 1장 - 데이터 엔지니어링 상세31514데이터 엔지니어링이란?데이터 엔지니어링은 원시 데이터를 가져와 분석 및 머신러닝과 같은 다운스트림 사용 사례를 지원하는, 고품질의 일관된 정보를 생성하는 시스템과 프로세스의 개발, 구현 및 유지 관리이다.데이터 엔지니어링은 보안, 데이터 관리, 데이터 운영, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링의 교차점이다. 데이터 엔지니어는 원천 시스템에서 데이터를 가져오는 것부터 시작해 분석 또는 머신러닝과 같은 사용 사례에 데이터를 제공하는 것으로 끝나는 데이터 엔지니어링 수명 주기를 관리한다. 데이터 엔지니어링 수명 주기데이터 엔지니어링 수명 주기는 전체 수명 주기에 걸쳐 중요한 아이디어인 드러나지 않는 요소라는 기술 역량을 포함한다.이러한 기술 역량을 사용하려면, 데이터 도구들을 평가하는 방법..
- 2024-10-31 15:06:53
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)