분류 전체보기 1188

[MySQL] CHECK TABLE - 테이블 상태 확인

CHECK TABLE View DDL에서 존재하지 않는 테이블을 참조하는 등의 문제를 가진 테이블이 있는지 확인한다. 확인할 테이블에 대한 권한이 있어야 CHECK 명령을 수행할 시 있다. 개발자보다는 DBA가 주로 사용하는 명령어지만, DB 업그레이드 사전 작업 중 확인 요청이 와서 정리한다. SQL CHECK TABLE tbl_name [, tbl_name] ... [option] ... option: { FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED } 옵션은 다음과 같다. FOR UPGRADE : 테이블이 현재 MySQL 버전과 호환되는지 확인한다. QUICK : 잘못된 링크를 확인하기 위한 행 스캔 금지 FAST : 적절히 CLOSE 되지 ..

Database 2023.04.03

[MySQL] View 목록 확인

개요 2021.09.17 - [MySQL] View에서 View의 개념과 생성, 삭제, 수정 방법은 정리했었다. 정작 목록을 확인하는 방법을 적어두지 않아 정리한다. 1. SHOW FULL TABLES SHOW FULL TABLES IN WHERE table_type LIKE 'VIEW'; FULL 키워드를 붙이지 않으면 table_type 컬럼이 없어 조회되지 않는다. 2. SELECT ~ FROM information_schema SHOW FULL TABLES 명령과 달리 모든 데이터베이스 내에 존재하는 View 목록을 확인할 수 있다. SELECT table_schema, table_name, table_type FROM information_schema.TABLES WHERE table_type ..

Database 2023.04.02

[Python] Pandas - read_csv 날짜 데이터 읽기

개요 아래와 같은 CSV 파일이 있다고 하자. date, idx, val 1/5/2020 10:00:00, 1, 10 1/5/2020 10:10:00, 1, 12 1/5/2020 10:20:00, 1, 17 1/5/2020 10:00:00, 2, 11 1/5/2020 10:10:00, 2, 14 1/5/2020 10:20:00, 2, 16 날짜 형식의 데이터인 date 컬럼이 존재하는데, 이 파일을 read_csv로 읽은 후 데이터형을 확인하면 다음과 같다. 코드) import numpy as np import pandas as pd f_name = 'sample.csv' df = pd.read_csv(f_name) print(df.info()) datetime 형이 아니라 object 형 데이터로 추론..

[Airflow] 기본 View 형식 변경

개요 2022.07.22 - [Apache Airflow] 설치 / 실행 (버전 2.3)을 통해 Airflow를 설치하고 DAG 화면을 보면, View 형식이 아래와 같다. Airflow 2.3부터 tree 형식이 grid 형식으로 대체되었기 때문인데, 기본 View 형식 지정 방법을 적어둔다. dag_default_view Airflow Webserver 설정 중 하나로, 기본 DAG 뷰를 지정한다. 유효한 값은 grid, graph, duration, gantt, landing_times이며, 기본값은 grid이다. Airflow 2.2.5까지는 tree, graph, duration, gantt, landing_times 값이 유효했다. view 형식 변경 방법 Airflow 구성 파일인 airfl..

Apache Airflow 2023.03.31

[Trino/Hive] AWS S3 쿼리하기

개요 2023.03.02 - [Trino] 설치/구성/실행 2023.03.19 - [Ubuntu/Hadoop] Single Node/Standalone 설치 2023.03.22 - [Hive] Metastore 설치 및 실행 2023.03.29 - [Trino] Hive Connector 추가 최근 위와 같은 글들을 작성했는데, 이 글에서는 Hive Connector를 이용해 Trino로 S3에 저장된 데이터를 쿼리하고 싶다. 간단히 말해 Trino를 AWS Athena처럼 쓰고 싶다. 설정 방법을 정리해둔다. 1. 필요한 소프트웨어는 모두 설치되어 동작하고 있다고 가정한다. 2. 이 글에서는 Trino와 Hive Connector로 S3에 연결하는 방법 위주로 적어둔다. HMS에 AWS 라이브러리 추가..

Trino 2023.03.30

[Trino] Hive Connector 추가

개요2023.03.27 - [Trino] Hive Connector에서 Trino의 Hive 커넥터에 대한 개념을 정리해 보았다.이 글에서는 구성 방법을 정리해두려고 한다.  요구 사항Trino Hive 커넥터를 사용하기 위해서는 아래와 같은 사항이 필요하다.Apache Hadoop HDFS 2.x 또는 3.XHMS(Hive Metastore) 또는 AWS Glue data catalog와 같은 HMS 구현Coordinator와 Worker는 HMS 및 스토리지 시스템에 접근할 수 있어야 한다. 필요하다면 아래의 글을 참고하여 구성한다.2023.03.19 - [Ubuntu/Hadoop] Single Node/Standalone 설치2023.03.23 - [Hive] Metastore 설치 및 실행  Co..

Trino 2023.03.29

[Hive/HMS] Unable to create database path file:/user/hive/warehouse/*.db

개요 HMS에 스키마 생성을 시도했으나 아래와 같은 에러와 함께 생성에 실패했다. failed: Unable to create database path file:/user/hive/warehouse/schema_create_test.db 해결 방법을 적어둔다. 원인 hive.metastore.warehouse.dir에 접근이 불가능해 발생한 현상이다. hive.metastore.warehouse.dir 속성의 기본값은 /user/hive/warehouse인데, 이 경로는 사용자 정의 디렉터리로 Hive 또는 Hive Metastore 설치 과정에서 직접 생성하고 설정해주어야 한다고 한다. 해결 방법 hive.metastore.warehouse.dir로 설정할 디렉터리를 생성하고 설정을 업데이트한다. 이 ..

Hadoop EcoSystem 2023.03.28

[Trino] Hive Connector

Hive Connector Apache Hive 데이터 웨어하우스에 저장된 데이터 쿼리를 쿼리 할 수 있다. Trino에서 Hive 런타임 없이 Hive에 의해 지정된 규칙에 따라 객체 스토리지에서 데이터를 읽기 위해 사용한다. Trino는 Hadoop, Spark 또는 Hive 인프라에서 느린 쿼리 처리 속도를 피하기 위해 사용하기 때문에 Hive Connector가 있다는 게 혼란스러울 수 있는데, 관련해서 정리된 공식 문서를 요약해 둔다. Hive 구조 Hive 커넥터를 이해하기 위해서는 Hive 구조와 구성 요소를 알아야 한다. Runtime : HiveQL을 파일 시스템에 저장된 파일에서 실행하는 MapReduce 작업으로 변환하는 쿼리 엔진 로직을 포함한다. Storage : 다양한 형식과 인..

Trino 2023.03.27

[Python] Pandas - DataFrame.dtypes를 Dictionary로 변환

개요 DataFrame의 데이터 타입을 확인할 때는 dtypes 속성을 사용한다. 그리고 dtypes 속성은 Series이다. import numpy as np import pandas as pd map_code_message = [ {'code':'00','return_message':'Continue'}, {'code':'01','return_message':'Switching Protocol'}, {'code':'02','return_message':'Processing'}, {'code':'03','return_message':'Early Hints'}, ] df = pd.DataFrame(map_code_message) print(df.dtypes) print(f'type : {type(df.d..

[MySQL/MariaDB] 서버 원격 접속 허용

개요 AWS EC2에 MySQL 서버를 설치하고 다른 서버에 접속을 시도했다. EC2에 적용한 보안 그룹은 아웃바운드와 인바운드 모두 허용되어 있고 MySQL 서버도 실행 중이고, 접속을 시도한 계정은 모든 대역의 IP를 허용하고 있었다. 하지만 접속이 되지 않았다……. telnet 연결조차 되고 있지 않은 상태다. 원인 MySQL은 기본적으로 localhost의 연결만 수신하기 때문에 같은 서버 내에서만 접근할 수 있다. 원격 접속이 필요하다면 아래 두 가지 방법 중 하나를 선택할 수 있다. SSH 터널을 통한 접속 MySQL 서버가 원격 연결을 허용하도록 구성 이 글에서는 MySQL 서버가 원격 연결을 허용하도록 구성해보려고 한다. MySQL 서버 구성 변경 MySQL 서버와 클라이언트가 전용 네트워..

Database 2023.03.25