2024/03 21

[Arrow] S3FileSystem - AWS S3에서의 parquet 파일 다루기

개요 2024.03.13 - [Apache Arrow] parquet 파일 읽고 쓰기, 2024.03.14 - [Arrow] 파티셔닝한 parquet 파일 저장하기에서 pyarrow로 parquet 파일을 간단히 다뤄보았다. 다만 보통 로컬 파일 시스템 대신 AWS s3와 같은 외부 스토리지를 많이 사용하는 것 같다. 따라서 이번 글에서는 AWS S3에 저장된 parquet 파일을 읽거나 쓰는 방법을 적어둔다. S3에 접근하기 위해 필요한 권한 등은 이미 준비가 되어 있다고 가정한다. S3FileSystem Arrow는 여러 스토리지 타입에 대한 추상 파일 시스템 인터페이스 구현을 제공한다. 파일 시스템 인터페이스는 디렉터리 작업뿐만 아니라 입출력 스트림을 제공하고, 기본 데이터 저장소를 단순한 형태로 ..

Python 2024.03.15

[Arrow] 파티셔닝한 parquet 파일 저장하기

개요 2024.03.13 - [Apache Arrow] parquet 파일 읽고 쓰기에서 Python으로 parquet 파일을 읽고 쓰는 방법을 간단히 정리했는데, 데이터를 파티셔닝 해서 저장할 필요가 있어 추가로 정리한다. 파티셔닝 Apache Arrow는 로컬, AWS S3, HDFS 등의 파일 시스템에 파티셔닝 데이터를 읽거나 쓸 수 있다. 기본적으로는 로컬 파일 시스템을 사용한다. 데이터를 쓸 때는 pyarrow.parquet.wrirte_to_dataset 함수에 파일로 저장할 테이블, 파일을 저장할 기본 경로, 그리고 파티셔닝 할 컬럼을 지정한다. pq.write_to_dataset(table, root_path='dataset_name', partition_cols=['one', 'two']..

Python 2024.03.14

[Apache Arrow] parquet 파일 읽고 쓰기

Apache Arrow Apache Arriow는 컬럼 형식의 데이터를 처리하는 데이터 분석 애플리케이션을 개발하기 위한 프레임워크다. Apache Parquet, Apache Spark, Numpy, Pandas 등의 데이터 처리 라이브러리와 함께 사용할 수 있는데, 이 글에서는 Arrow를 사용해 Parquet 파일을 다루는 방법을 간단히 정리하려고 한다. 설치 Python에서 Apache Arrow를 사용할 때는 pip나 conda를 사용해 pyarrow라는 이름의 라이브러리를 설치해야 한다. pip install pyarrow 참고로 2024-02-16일 기준 최신 버전인 Apache Arrow 15.0에서는 Numpy 1.16.6 이상의 버전을 요구하고, Pandas를 사용한다면 1.0 이상의 ..

Python 2024.03.13

[parquet-tools] parquet 파일 조회

parquet-tools parquet 파일은 csv나 json 마냥 메모장 같은 편집기로 열어도 그 내용이 제대로 보이지 않는다. 따라서 parquet 파일을 다룰 수 있는 별도의 유틸리티를 사용하게 되는데, 이 글에서는 여러 parquet 유틸리티 중 parquet 파일의 데이터와 메타데이터를 읽을 수 있는 도구인 parquet-tools를 사용하는 방법을 적어둔다. 참고로 Apache에서 공식적으로 제공하는 parquet-tools는 아니다! 간단히 pip로 설치할 수 있는 도구를 사용하려고 한다. 테스트할 parquet 파일은 https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page 에서 다운로드했다. 설치 parquet-tools는 pip로 설..

Hadoop EcoSystem 2024.03.12

Apache Parquet 이란 - 2

개요 2024.03.08 - Apache Parquet 이란 - 1에 이어서 parquet 파일에 대한 개념을 계속 정리한다. 메타데이터 parquet 파일에는 파일 메타데이터, 컬럼 메타데이터, 페이지 헤더 메타데이터가 존재한다. 데이터 타입 파일 포맷에서 지원하는 데이터 타입은 디스크에 미치는 영향을 최소화하도록 설계되었으며, 지원하고 있는 데이터 타입은 아래와 같다. BOOLEAN: 1 bit boolean INT32: 32 bit signed ints INT64: 64 bit signed ints INT96: 96 bit signed ints FLOAT: IEEE 32-bit floating point values DOUBLE: IEEE 64-bit floating point values BYTE..

Hadoop EcoSystem 2024.03.11

Apache Parquet 이란 - 1

개요 빅데이터 관련 프로젝트를 하다보면 json, csv 등 외의 parquet 형식의 파일을 다루게 되는데, 이번 글에서는 parquet 파일에 대해서 간단히 정리해두려고 한다. 참고로 parquet은 파케이라고 발음한다. Apache Parquet Apache Parquet이란 Hadoop 에코 시스템에서 공통적으로 사용할 수 있는 컬럼 기반 데이터 압축 형식을 말한다. 복잡하게 중첩된 데이터 구조를 위해 개발되었고, Dremel의 논문에서 작성된 record shredding and assembly algorithm을 사용한다. 또한 열(컬럼) 기반으로 데이터를 압축하여 효율적인 압축 및 인코딩을 지원한다. 관련 개념 Block (HDFS block) HDFS에서의 블록을 의미한다. File 파일의..

Hadoop EcoSystem 2024.03.08

[Shell] 변수 기본값 설정

개요 쉘 스크립트에서 변수를 초기화화하면 환경변수 등으로 설정된 값을 사용하거나 그렇지 않은 경우가 존재할 수 있다. 때문에 쉡 스크립트에서 변수를 초기화할 때 기본값을 설정하는 방법을 제공해주고 있다. 이 글에서는 변수 선언 시 기본값을 설정하는 방법에 대해 적어둔다. 변수의 상태 쉘 스크립트에서 변수의 상태는 크게 세 가지로 구분할 수 있다. 선언된 변수 값이 NULL이 아닌 변수 값이 NULL인 변수 선언되지 않은 변수 쉘 스크립트는 변수의 상태와 사용한 확장자에 따라 기본값으로 초기화되는 조건이 달라질 수 있다. - / = 참조하는 변수가 선언되지 않은 경우에는 -, :, = 등의 확장자를 사용하여 변수의 기본값을 초기화한다. 확장자 설명 ${VAR-value} VAR이 선언되지 않은 경우, va..

Linux/Shell Script 2024.03.07

[Istio] 다운로드 및 설치

개요 2024.02.29 - [Service Mesh] Istio 란에서 Istio에 대한 개념 정도만 간단히 살펴보았는데, 이번 글에서는 공식 문서를 참조하여 Istio를 설치해보려고 한다. https://istio.io/latest/docs/setup/getting-started/ 페이지를 참조해 Istio 릴리즈를 직접 다운로드하여 진행해 본다. 테스트는 Killercoda에서 수행했고, Kubernetes 1.29 버전을 사용했다. Istio 다운로드 Istio 릴리즈를 다운로드한다. curl -L https://istio.io/downloadIstio | sh - 옵션 없이 다운로드를 수행하면 최신 버전을 다운로드한다. 만약 특정 버전을 다운로드하고 싶다면 아래와 같이 버전을 지정할 수 있다. ..

Kubernetes 2024.03.06

[Excel] 파워 쿼리 - 테이블 교차 조인 수행하기

개요 Excel을 이용해 두 개의 표에 대해 교차 조인을 수행하고 싶다. Excel에서 제공하는 파워 쿼리 기능을 사용해 두 테이블을 합쳐보자. 표 만들기 데이터 범위를 선택하고 키보드로 ctrl + t를 입력해 표로 만든다. 확인 버튼을 클릭하면 아래와 같이 표로 변환된다. 다른 테이블도 동일하게 표로 생성한다. Query 생성 표를 Power Query에서 다를 수 있도록 쿼리를 생성한다. 생성한 표를 선택한 상태에서 상단 메뉴의 데이터 > 데이터 가져오기 및 변환 > '테이블/범위에서' 버튼을 클릭한다. 쿼리를 구분할 수 있도록 적당한 이름을 지정하고 상단 메뉴에서 홈 > 닫기 및 로드 > 닫기 및 다음으로 로드 버튼을 클릭한다. 연결만 만들기를 선택하고 확인 버튼을 클릭한다. 그러면 화면 오른쪽 ..

기타 2024.03.05

[Window 10] 원격 데스크톱 포트 변경

개요 컴퓨터를 세팅할 때 원격 데스크톱 기능을 사용하되 기본 포트가 아닌 다른 포트로 사용하고자 한다. 항상 검색하면서 설정하기 때문에 방법을 적어둔다. 레지스트리 편집 원격 접속을 위한 포트 관련 설정을 수정한다. 1. 레지스트리 편집기 실행 시작 메뉴로 검색하거나 실행창에서 regedit으로 실행할 수 있다. 2. 레지스트리 편집 수정할 레지스트리는 다음과 같다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 각 경로의 PortNumber를..

Windows 2024.03.04
1 2 3