분류 전체보기 1191

[kubeadm] 노드 삭제

개요 kubeadm으로 구성한 쿠버네티스 클러스터에서 특정 노드를 제외하려고 한다. 방법을 정리해둔다. kubectl로 작업 1. Node 상태 확인 kubectl get nodes 2. Node 스케쥴링 비활성화 Node에 Pod가 스케쥴링되지 않도록 상태를 변경한다. kubectl drain # --ignore-daemonsets : drain 시 daemonset에 의한 pod 제외 Daemonset에 의해 생성된 Pod가 동작 중인 경우에는 --ignore-daemonsets 옵션을 사용하여 실행한다. 참고 : 2022.06.23 - [k8s] drain 3. 노드 삭제 kubectl delete nodes 제거한 노드에서 작업 1. kubeadm reset kubeadm reset은 kubead..

Kubernetes 2022.11.08

[AWS] S3 Select - 객체 내 데이터 쿼리

S3 Select 간단한 SQL을 이용해 객체에서 필요한 데이터만 가져올 수 있도록 하는 서비스이다. CSV, JSON, Apache Parquet 형식으로 또는 압축되어 저장된 객체를 대상으로 사용할 수 있고, 결과는 CSV, JSON 형식으로 설정할 수 있다. S3 Select를 사용하기 위해서는 s3:GetObject 권한이 필요하다. 콘솔을 통해 사용 1. S3 버킷에 저장된 객체 중 S3 Select를 사용할 객체를 선택 > 열기 > S3 Select를 사용한 쿼리 클릭 2. 쿼리 결과를 출력할 형식을 설정한다. 3. 쿼리를 작성하고 실행한다. SQL 기본적으로 SELECT ~ FROM ~ WHERE 절을 사용할 수 있다. SELECT projection [ AS column_alias | co..

AWS 2022.11.07

[Python] PyMySQL/Pandas를 이용해 SELECT 하기

개요 2022.11.05 - [Python] PyMySQL - MySQL SELECT 하기에서 PyMySQL 라이브러리를 사용해 Python으로 MySQL을 다뤄보았다. PyMySQL만을 사용하면 매번 커서를 생성하는 등의 작업이 필요한데 Pandas를 사용하면 조금 더 편하게 MySQL을 다룰 수 있다. 이 글에서는 PyMySQL와 Pandas를 사용해 SELECT문을 실행하는 방법을 정리한다. MySQL 연결 PyMySQL을 이용하여 MySQL와 연결한다. import pymysql conn = pymysql.connect(host='DB_SERVER_IP', port='PORT' user='USERNAME', password='PASSWORD', db='DATABASE_NAME', charset='..

Python 2022.11.06

[Python] PyMySQL - MySQL SELECT 하기

PyMySQL Python을 이용해 MySQL을 다룰 때 사용할 수 있는 라이브러리 중 하나로, 순수하게 python으로 구현되어 있다. 💡 다른 라이브러리 - mysql-connector-python : Oracle에서 공식적으로 지원하는 라이브러리. mysql 8.0 이상의 버전에서 사용할 수 있다. - mysqlclient : PyMySQL을 개발한 측에서 개발한 라이브러리. C로 구현되어 있다. 이 글에서는 MySQL을 다룰 때 사용할 수 있는 라이브러리 중 대중적으로 사용되는 PyMySQL을 이용해 데이터를 SELECT 하는 방법을 정리한다. 설치 PyMySQL 라이브러리는 아래 명령어로 설치할 수 있다. pip install PyMySQL import 설치한 PyMySQL 라이브러리는 아래와 ..

Python 2022.11.05

[Python] 한 문서 내 여러 JSON 데이터 읽기

개요 2021.11.01 - [Python] JSON 데이터 다루기에서 정리했던 대로 다음과 같은 코드로 JSON 형식 데이터를 Python으로 읽고 다루려고 한다. import json file_path = 'test.json' with open(file_path, 'r') as f: json_obj = json.load(f) 근데 실행했더니 에러가 발생하면서 실패했다. json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 221) 읽을 JSON 파일을 확인해보니 각각의 줄은 유효한 JSON 데이터였으나, 전체적으로는 목록이나 객체 정의가 없어 유효한 JSON 형식의 데이터가 아니었다. {"votes": {"funny": 2, "useful"..

Python 2022.11.04

[Linux] dummyfile 생성

dummyfile 내용 없이 공간만 차지하는 파일. 프로그램이나 디스크의 성능 등을 테스트하기 위해 생성하는 경우가 많다. 이 글에서는 Linux에서 dd 명령으로 dummyfile을 생성해본다. dd 파일을 복사하고 변환하는 명령어 dd [OPERAND]... # if=FILE : 표준 입력 대신 읽을 FILE # of=FILE : 표준 출력 대신 쓸 FILE # bs=BYTES : 한 번에 읽고 쓰는 바이트 수 # count=N : 복사할 입력 블록 수 💡 BYTES 지정 시 다음과 같은 기호가 올 수 있다. c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, xM=M, GB=1000*1000*1000, G=1024*1024*1024 등 dum..

Linux 2022.11.03

[MySQL] 사용자 정의 변수 (@)

사용자 정의 변수 사용자가 직접 정의하는 변수로, 한 명령문에서 값을 저장하고 다른 명령문에서 참조할 수 있다. 이를 통해 한 명령문에서 다른 명령문으로 값을 전달할 수 있다. 사용자 정의 변수는 @var_name으로 작성하며, 변수 이름은 영문, 숫자, ., _, 등으로 구성될 수 있다. 그리고 대소문자를 구분하지 않는다. 또한 세션(session) 단위로 유지되기 때문에, 한 클라이언트에서 정의한 사용자 변수는 다른 클라이언트에서 사용할 수 없다. 선언 (SET) SET 문을 실행해서 사용자 졍의 변수를 선언할 수 있다. SET @var_name = VALUE # 예시 SET @var = 1; 선언 (SELECT) SELECT 문을 실행해서 사용자 정의 변수를 선언할 수도 있다. SET문을 실행할 때..

Database 2022.11.02

[boto3] S3 event 알림 설정 확인

개요 2022.10.11 - [aws cli] S3 event 알림 설정 확인에서 AWS CLI로 S3 이벤트 알림 설정 정보를 확인했다. 이번 글에서는 같은 일을 Python AWS SDK인 boto3을 이용해서 확인해보려고 한다. 필요한 권한은 모두 부여되어 있다고 가정한다. 자격 증명 확인 S3를 다루기 위한 자격 증명은 아래 함수로 얻을 수 있다. S3는 리전 구분을 하지 않으므로 region_name은 사용하지 않았다. def get_session(profile_name=None): session = boto3.Session(profile_name=profile_name) return session def get_client(aws_access_key_id=None, aws_secret_acce..

Python 2022.11.01

[Python] functools.partial - 함수 재활용

개요 2022.07.04 - [functools] reduce 함수에 이어 functools 모듈의 partial 함수에 대해 알아본다. partial partial 함수는 함수 이름과 그 인자 값을 전달받아 하나 이상의 인자가 채워진 함수를 생성하기 위해 사용한다. functools.partial(func, *args, **kwargs) 예시 아래와 같이 두 수의 곰셉을 계산하는 multiply 함수가 있다고 하자. def multiply(x, y): return x * y 만약 이 함수의 x가 5이고, 7이고 9인 함수를 정의해야 한다면 partial 함수를 이용해 아래와 같이 선언하여 사용할 수 있다. import functools def multiply(x, y): return x * y five..

Python 2022.10.31

[Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 3

os.walk 매개변수로 전달한 디렉터리를 하향식 또는 상향식으로 탐색하며 존재하는 파일명의 리스트를 반환한다. 2022.10.16 - [Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 1 [Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 2 위 두 글에 이어서 os.walk 함수로 디렉터리 내 파일/디렉터리 리스트를 확인하는 방법을 정리한다. 사용법 os.walk 함수는 매개변수로 전달받은 경로부터 (dirpath, dirnames, filenames)로 이루어진 튜플의 리스트를 반환한다. dirnames와 filenames는 리스트형 데이터로 반복문으로 os.path.join 함수를 사용하면 보다 깔끔한 결과를 얻을 수 있다. 파일/디렉터리 import os base_path = '..

Python 2022.10.30