본문 바로가기

전체 글

(21)
[Linux][Command] grep ▪ Enviroment - Linux/MaxOS - Bash shell(/bin/bash) ▪ Synopsis grep 명령어는 Linux 및 유닉스 기반 시스템에서 텍스트 검색과 패턴 매칭을 수행하는 데 사용됩니다. option description example -A num, --after-context=num Print num lines of trailing context after each match. grep -A 5 -a, --text Treat all files as ASCII text. grep -a -B num, --before-context=num Print num lines of leading context before each match. grep -B 5 -b, --byte-off..
[Iceberg][STUDY][둘러보기] 01. Tables : Branching and Tagging Overview Iceberg table metadata maintains a snapshot log, which represents the changes applied to a table. Snapshots are fundamental in Iceberg as they are the basis for reader isolation and time travel queries. 테이블이 변경이 발생 했을 때 스냅샷 로그를 유지하며 격리(read 할 때 영향 받지 않고 변경이 완료 되었을 때 current snapshot 을 변경) 및 타임 트래블 쿼리를 사용 가능하게 합니다. For controlling metadata size and storage costs, Iceberg provides snapsho..
[Iceberg][STUDY][둘러보기] 01. Introduction Apache Iceberg 의 기본적인 이론부터 시작해보려고 합니다. 👏🏻 학습은 공식 문서(Iceberg Docs)와 소스(Iceberg github) 통해서 살펴 보며 진행 예정입니다. 공식 문서를 살펴 보면 소개에는 아래의 문구로 시작합니다. Apache Iceberg is an open table format for huge analytic datasets. Iceberg adds tables to compute engines including Spark, Trino, PrestoDB, Flink, Hive and Impala using a high-performance table format that works just like a SQL table. 학습 할 때 가장 기본적으로 필요하다고 생각..
[Spark][Python][Function] withColumn ▪ 함수 설명 withColumn은 Apache Spark에서 제공하는 함수로, PySpark의 DataFrame에서 컬럼을 추가하거나 변형할 때 사용됩니다. 이 함수는 기존 DataFrame을 변경하지 않고 새로운 DataFrame을 생성합니다 데이터 프레임에 새로운 컬럼을 추가하거나, 기존 컬럼을 업데이트하는 데에 사용됩니다. DataFrame.withColumn(colName, col) colName: 새로운 컬럼의 이름을 나타내는 문자열입니다. col: 새로운 컬럼을 생성하거나, 기존 컬럼을 변형하기 위한 PySpark의 Column 객체 또는 표현식입니다. ▪ 실행 및 결과 컬럼 추가 from pyspark.sql import SparkSession from pyspark.sql.function..
[Git] clone (--mirror) ▪ Synopsis git clone --mirror 명령어는 원격 저장소를 미러링하는데 사용됩니다. 이 옵션은 원격 저장소의 모든 브랜치, 태그, 커밋 히스토리 등을 완전히 복제합니다. 이것은 주로 백업이나 서버 간 코드 동기화 등에 사용됩니다. $ git clone --mirror git clone: Git 저장소를 복제하는 명령어입니다. --mirror: 미러 모드로 저장소를 복제합니다. 모든 브랜치, 태그, 원격 브랜치 등을 포함한 완전한 복제를 수행합니다. : 복제할 원격 저장소의 URL을 나타냅니다. git clone --mirror 명령으로 복제된 저장소의 로컬 디렉토리 구조는 다음과 같습니다. 미러 모드로 저장소를 복제하면 .git 디렉토리 내에 원격 저장소의 모든 정보가 포함되므로, 일반..
[Git] log ▪ Synopsis git log 명령어는 Git 저장소의 커밋 로그를 확인하는 데 사용됩니다. 이 명령어를 사용하면 저장소의 커밋 히스토리를 시간순으로 볼 수 있습니다. 그러나 Git 로그는 많은 정보를 제공할 수 있기 때문에 여러 옵션을 사용하여 필요한 정보만 표시할 수 있습니다. $ git log [] [...] git log: Git 로그를 조회하는 명령어입니다. []: 여러 로그 조회 옵션을 사용할 수 있습니다. [...]: 특정 파일 또는 디렉토리에 대한 로그를 조회할 수 있습니다. 옵션은 다양한 기능을 제공하며, 몇 가지 예시를 아래에 나열하겠습니다: --oneline: 간단한 한 줄 요약으로 로그를 출력합니다. --graph: 로그를 그래프 형태로 출력합니다. -p 또는 --patch: 각..
[Iceberg][STUDY][둘러보기] 00. Table of Contents 프로젝트의 아키텍처 상에서 Iceberg 도입이 필요하다고 생각한건 아래 이유가 메인입니다. (1) Advanced filtering (2) ACID transaction 보장 (3) 가능하다면.. Snapshot diff streaming 추가로 Schema evolution, Time travel 과 Hidden partitioning 기능들도 쏠쏠한 기능인것 같습니다. 버전이 아직 낮은 부분 (여러 이슈들 존재 가능성) 과 Multiple concurrent writers 이 걱정되는 부분인 것 같습니다. (작성일 2024년 01월 25일 기준으로 1.4.3 버전) ACID transaction 기능은 data ingestion 할 때 Snapshot 형태로 가져오는 것이 아니라 Kafka 를 통해..
[Iceberg][STUDY] ChatGPT 질의응답 Apache Iceberg 를 공부하기 전에 떠오르는 궁금한 점들을 ChatGPT를 통해 먼저 알아 보았다. 질의응답 내용들을 정리해 보면 아래와 같다. Q-001. Apache Iceberg를 처음 스터디하려고 할 때 어떤 방법을 추천하고 싶어? Apache Iceberg는 대규모 데이터 저장 및 관리 시스템을 위한 오픈 소스 데이터 테이블 포맷 및 라이브러리입니다. 새로운 기술이나 도구를 스터디할 때 아래의 단계를 따라가면 도움이 될 것입니다: 기본 개념 및 배경 이해: Apache Iceberg의 기본 개념과 배경을 이해하세요. Iceberg가 무엇인지, 왜 필요한지, 어떤 문제를 해결하려는지에 대한 개념을 파악하세요. 공식 문서 확인: Apache Iceberg의 공식 문서를 확인하고 읽어보세요...